首页 > 编程语言 >算法和数据结构新手班课程内容(1~8节)

算法和数据结构新手班课程内容(1~8节)

时间:2023-02-21 23:36:27浏览次数:41  
标签:题目 原题 链表 二叉树 https 新手 数据结构 com 课程内容

01 位运算、算法是什么、介绍位运算和简单排序
内容:
讲解二进制、位运算
介绍什么是算法
讲解冒泡、选择、插入排序
题目:
实现打印一个整数的二进制
给定一个参数N,返回1!+2!+3!+4!+…+N!的结果
实现冒泡排序
实现选择排序
实现插入排序
02 数据结构的大分类、介绍前缀和与对数器
内容:
什么是数据结构、组成各种数据结构最基本的元件
前缀和数组
随机函数
对数器的使用
题目:
实现前缀和数组
如何用1~5的随机函数加工出1~7的随机函数
如何用a~b的随机函数加工出c~d的随机函数
展示对数器的使用
如何把不等概率随机函数变成等概率随机函数

 

03 介绍二分法,介绍时间复杂度、动态数组、哈希表和有序表
内容:
二分法
使用二分法解决不同的题目
时间复杂度
动态数组
按值传递、按引用传递
哈希表
有序表
题目:
有序数组中找到num
有序数组中找到>=num最左的位置
有序数组中找到<=num最右的位置
局部最小值问题
哈希表使用的code讲解
有序表使用的code讲解

 

04 链表相关的简单面试题
内容:
单双链表的定义
栈、队列
双端队列
题目:
反转单链表
反转双链表
用单链表实现队列
用单链表实现栈
用双链表实现双端队列
K个节点的组内逆序调整问题:
给定一个单链表的头节点head,和一个正数k
实现k个节点的小组内部逆序,如果最后一组不够k个就不调整
例子: 
调整前:1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8,k = 3
调整后:3 -> 2 -> 1 -> 6 -> 5 -> 4 -> 7 -> 8
两个链表相加问题
给定两个链表的头节点head1和head2,
认为从左到右是某个数字从低位到高位,返回相加之后的链表
例子     4 -> 3 -> 6        2 -> 5 -> 3
返回     6 -> 8 -> 9
解释     634 + 352 = 986
两个有序链表的合并
给定两个有序链表的头节点head1和head2,
返回合并之后的大链表,要求依然有序
例子     1 -> 3 -> 3 -> 5 -> 7   2 -> 2 -> 3 -> 3-> 7
返回     1 -> 2 -> 2 -> 3 -> 3 -> 3 -> 3 -> 5 -> 7

 

05 位图、位运算实现加减乘除
内容:
位图
位运算使用的进一步学习:实现加减乘除
题目:
现场写位图的code、讲解
位运算的加减乘除

 

06 比较器、优先级队列、二叉树
内容:
比较器
优先级队列
二叉树的基本遍历
二叉树的递归套路
题目:
补充了一个链表的题目
合并多个有序链表
Leetcode原题,https://leetcode.com/problems/merge-k-sorted-lists
判断两颗树是否结构相同
Leetcode原题,https://leetcode.com/problems/same-tree
判断一棵树是否是镜面树
Leetcode原题,https://leetcode.com/problems/symmetric-tree
返回一棵树的最大深度
Leetcode原题,https://leetcode.com/problems/maximum-depth-of-binary-tree
用先序数组和中序数组重建一棵树
Leetcode原题,https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal
用code展示比较器的使用
二叉树先序、中序、后序遍历的代码实现、介绍递归序

 

07 继续二叉树的很多题目
内容:
进一步讲解二叉树题目,来熟悉二叉树
题目:
二叉树按层遍历并收集节点
Leetcode原题,https://leetcode.com/problems/binary-tree-level-order-traversal-ii
判断是否是平衡搜索二叉树
Leetcode原题,https://leetcode.com/problems/balanced-binary-tree
在二叉树上能否组成路径和
Leetcode原题,https://leetcode.com/problems/path-sum
在二叉树上收集所有达标的路径和
Leetcode原题,https://leetcode.com/problems/path-sum-ii
判断二叉树是否是搜索二叉树

 

08 介绍归并排序和快速排序
内容:
讲解一个位运算的题目
归并排序
快速排序
题目:
不要用任何比较判断,返回两个数中较大的数
归并排序的递归实现和非递归实现
快速排序的递归实现和非递归实现

 

标签:题目,原题,链表,二叉树,https,新手,数据结构,com,课程内容
From: https://www.cnblogs.com/2324hh/p/17142903.html

相关文章

  • 算法和数据结构新手班课程内容(1~8节)
    01位运算、算法是什么、介绍位运算和简单排序内容:讲解二进制、位运算介绍什么是算法讲解冒泡、选择、插入排序题目:实现打印一个整数的二进制给定一个参数N,返回1!+2......
  • redis探秘:选择合适的数据结构,减少80%的内存占用,这些点你get到了吗?
    ​redis作为目前最流行的nosql缓存数据库,凭借其优异的性能、丰富的数据结构已成为大部分场景下首选的缓存工具。由于redis是一个纯内存的数据库,在存放大量数据时,内存的占用......
  • redis-数据结构介绍
    redis的数据结构介绍redis的数据结构redis存储的是:key,value格式的数据,其中key都是字符串,value有五种不同的数据结构value的数据结构:字符串类......
  • 数据结构刷题2023.02.21小记
    在图G的最小生成树G1中,可能会有某条边的权值超过未选边的权值.正确链接:在图G的最小生成树G1中,可能会有某条边的权值超过未选边的权值.prim是贪婪算法,每次找到一个......
  • 数据结构与算法-草稿
    第01章:顺序表kx001、第02章:链表第03章:栈第04章:队列第05章:字符串第06章:树第07章:图第08章:查找第09章:排序......
  • 《大话数据结构》速读
    写在前面速读是不现实的啦,但是本文作者去年(10个月前左右)看过算法图解、我的第一本算法书,当时只是看看,努力理解,没有应付应试的那种强记也没有做题,之后的学习又好像没怎么用......
  • 3、基础的数据结构
    1、单链表publicclassNode{publicintval;publicNodenext;publicNode(intvalue){this.val=value;}}1.1、单链表反转1.2、......
  • Redis 数据结构
    本文主要描述reids数据结构和底层数据结构的实现,用于熟悉redis的底层数据结构实现原理,下图是reids的整个数据结构组成。这篇文章主要介绍value对象这部分数据结构 SDS......
  • TZOJ数据结构实验:树相同、左叶子和、倾斜度、直径、平衡二叉树、最小深度、层次构造二
    5429数据结构实验:树是否相同intisSameTree(structTreeNode*p,structTreeNode*q)//相同返回1,否则返回0{if(p==NULL&&q==NULL)return1;if(p==NULL||......
  • set 数据结构
    set(集合)数据结构set(集合)是一个非常有用的数据结构。它与列表(list)的行为类似,区别在于set不能包含重复的值。这在很多情况下非常有用。例如你可能想检查列表中是否包......