- 博客(8)
- 收藏
- 关注
原创 代码随想录:二叉树
在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层(h从1开始),则该层包含 1~ 2^(h-1) 个节点。满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。如果父节点的数组下标是 i,那么它的左孩子就是 i * 2 + 1,右孩子就是 i * 2 + 2。是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
2024-11-14 10:23:45
330
原创 排序算法笔记
i:0~nums.size() - 1,记录数组nums进行nums.size()趟排序,每次确定index = nums.size() - i -1位置的数据(该趟遍历的最大值)j:相邻两数比较的下标j和j+1,j从0开始,j+1最大到这趟遍历该确定数据的index,j + 1 = index。如果一趟比较中没有出现交换,说明数组已经有序,可以用bool DoSwap记录单趟的比较情况。时间复杂度:平均 O( N^2) 最差 O( N^2)两两比较,每次确定一个最高位。
2024-11-10 09:58:28
461
原创 代码随想录:栈和队列
stack和queue不是容器container而是容器适配器container adapter不提供迭代器不能随机访问栈的底层实现可以是vector,deque,list注意queue和deque的差别deque是双开口容器,类比vector,内存是连续空间的block用指针连接起来的分段内存,vector是连续内存,deque查找效率比vector高。
2024-11-09 11:23:50
365
原创 代码随想录:哈希表
因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。,因为它的查询和增删效率是最优的,如果。哈希碰撞解决办法:拉链法 线性探测法。使用集合来解决哈希问题的时候,
2024-11-05 09:51:15
310
原创 代码随想录:链表
跳出while循环时cur->next = nullptr,就是要操作的节点cur->next = tmp_node,而不是cur->next->next。3. 遍历列表时tmp_node指向头结点下一节点,就是需要操作的位置,返回时不用tmp_node->next。递归函数:对传进来的链表,每次处理头部元素,把头部的指针掉头,再把后面的链表丢进递归函数。pre指向空,当pre移动到列表中的时候,pre指向的点指向之前且没有多余的连接。错误写法:pre从head开始,cur从head->next开始。
2024-11-03 17:11:09
675
1
多线程编程学习笔记 by blast
2024-11-16
设计模式学习笔记 by blast
2024-11-16
计算机网络学习笔记 by blast
2024-11-16
LearnOpenGL学习笔记 by blast
2024-11-03
计算机底层四件套学习笔记 by blast
2024-11-03
C++基础学习笔记 by blast
2024-11-03
mfc学习笔记 by blast
2024-11-03
QT学习笔记 by blast
2024-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人