随笔分类 - 数据结构与算法
摘要:不交换元素,交换指向元素的指针的顺序,是间接排序的方法 如果一定要排序,可以通过表排序之后,再对数据排序,这里包含了“环”的概念。
阅读全文
摘要:子集划分: https://www.icourse163.org/learn/ZJU-93001?tid=1206471203#/learn/content?type=detail&id=1211167115&cid=1213729377
阅读全文
摘要:一、平衡二叉树的定义 平衡二叉树的调整 https://www.icourse163.org/learn/ZJU-93001?tid=1206471203#/learn/content?type=detail&id=1211167090&cid=1213729228 四种模式: 1、插入Nov后会导
阅读全文
摘要:一、二叉搜索树的定义 二、二叉搜索树的查找操作 三、二叉搜索树的插入操作 四、二叉搜索树的删除操作
阅读全文
摘要:一、先序遍历、中序遍历、后序遍历 用堆栈实现非递归中序遍历: 二、层序遍历
阅读全文
摘要:二叉树的定义: 二叉树的重要性质: 二叉树的存储结构:用数组存储完全二叉树 二叉树的存储结构:用链表存储
阅读全文
摘要:解决排课问题: 每一次先选择入度为0的结点。 AOE问题:
阅读全文
摘要:贪心算法之Prim算法: 贪心算法之Kruskal算法:https://www.icourse163.org/learn/ZJU-93001?tid=1206471203#/learn/content?type=detail&id=1211167108&cid=1213729334&replay=t
阅读全文
摘要:一、无权图的单源最短路径算法 广度优先搜索的思想,所有的结点有一个编号,数组dist的下标编号表示结点,dist的内容表示最短距离 数组path的下标编号表示结点,path的内容表示在最短距离中,它的上一个结点的编号 假设无权图由链表的方式表达,时间复杂度为O(|V|+|E|) 例子: ——> 二、
阅读全文
摘要:先说说选择排序: 堆排序是对选择排序的改进 算法1,是生成一个传统的最小堆,逐步取树根元素,存入数组 真正的堆排序算法,思想是把A调成一个最大堆,把最大元素跟末尾元素交换,最大堆大小减1,然后调整,知道最大堆只有1个元素。 这里的最大堆跟传统的最大堆区别在于,它的下标是从0开始的,写代码的时候要注意
阅读全文
摘要:一、冒泡排序 可以改进的地方,在外层循环开始的地方声明一个 int flaf = 0;交换语句后面加个flag = 1,意思是如果在内层循环中发生过交换,flag为1,否则没有发生过交换,说明已经有序,排序到此结束。 冒泡排序的优点: 即使带排数列是存放在链表中的,冒泡排序依然可以起作用。 二、插入
阅读全文
摘要:双亲表示法:孩子指向父亲。 一、引出 二、集合运算 将小树挂到大树上,使树的高度不会太大。
阅读全文

浙公网安备 33010602011771号