随笔分类 -  数据结构与算法

摘要:桶排序: 基数排序: 阅读全文
posted @ 2019-08-19 13:42 maider 阅读(164) 评论(0) 推荐(0)
摘要:不交换元素,交换指向元素的指针的顺序,是间接排序的方法 如果一定要排序,可以通过表排序之后,再对数据排序,这里包含了“环”的概念。 阅读全文
posted @ 2019-08-19 11:04 maider 阅读(157) 评论(0) 推荐(0)
摘要:子集划分: https://www.icourse163.org/learn/ZJU-93001?tid=1206471203#/learn/content?type=detail&id=1211167115&cid=1213729377 阅读全文
posted @ 2019-08-19 10:31 maider 阅读(232) 评论(0) 推荐(0)
摘要:一、平衡二叉树的定义 平衡二叉树的调整 https://www.icourse163.org/learn/ZJU-93001?tid=1206471203#/learn/content?type=detail&id=1211167090&cid=1213729228 四种模式: 1、插入Nov后会导 阅读全文
posted @ 2019-08-16 16:40 maider 阅读(249) 评论(0) 推荐(0)
摘要:一、二叉搜索树的定义 二、二叉搜索树的查找操作 三、二叉搜索树的插入操作 四、二叉搜索树的删除操作 阅读全文
posted @ 2019-08-16 16:14 maider 阅读(140) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-08-16 11:00 maider 阅读(177) 评论(0) 推荐(0)
摘要:一、先序遍历、中序遍历、后序遍历 用堆栈实现非递归中序遍历: 二、层序遍历 阅读全文
posted @ 2019-08-16 10:55 maider 阅读(227) 评论(0) 推荐(0)
摘要:二叉树的定义: 二叉树的重要性质: 二叉树的存储结构:用数组存储完全二叉树 二叉树的存储结构:用链表存储 阅读全文
posted @ 2019-08-16 10:14 maider 阅读(162) 评论(0) 推荐(0)
摘要:旋转得到二叉树! 阅读全文
posted @ 2019-08-16 09:02 maider 阅读(129) 评论(0) 推荐(0)
摘要:解决排课问题: 每一次先选择入度为0的结点。 AOE问题: 阅读全文
posted @ 2019-08-15 18:42 maider 阅读(148) 评论(0) 推荐(0)
摘要:贪心算法之Prim算法: 贪心算法之Kruskal算法:https://www.icourse163.org/learn/ZJU-93001?tid=1206471203#/learn/content?type=detail&id=1211167108&cid=1213729334&replay=t 阅读全文
posted @ 2019-08-15 16:42 maider 阅读(181) 评论(0) 推荐(0)
摘要:一、无权图的单源最短路径算法 广度优先搜索的思想,所有的结点有一个编号,数组dist的下标编号表示结点,dist的内容表示最短距离 数组path的下标编号表示结点,path的内容表示在最短距离中,它的上一个结点的编号 假设无权图由链表的方式表达,时间复杂度为O(|V|+|E|) 例子: ——> 二、 阅读全文
posted @ 2019-08-15 16:22 maider 阅读(221) 评论(0) 推荐(0)
摘要:建立邻接矩阵: 简单点,可以这样: 邻接表: 阅读全文
posted @ 2019-08-15 15:30 maider 阅读(124) 评论(0) 推荐(0)
摘要:1、深度优先搜索 2、广度优先搜索 阅读全文
posted @ 2019-08-15 14:52 maider 阅读(294) 评论(0) 推荐(0)
摘要:用邻接矩阵表示图: 用邻接表表示图: 阅读全文
posted @ 2019-08-15 14:23 maider 阅读(175) 评论(0) 推荐(0)
摘要:归并排序的递归算法: 阅读全文
posted @ 2019-08-15 10:41 maider 阅读(131) 评论(0) 推荐(0)
摘要:先说说选择排序: 堆排序是对选择排序的改进 算法1,是生成一个传统的最小堆,逐步取树根元素,存入数组 真正的堆排序算法,思想是把A调成一个最大堆,把最大元素跟末尾元素交换,最大堆大小减1,然后调整,知道最大堆只有1个元素。 这里的最大堆跟传统的最大堆区别在于,它的下标是从0开始的,写代码的时候要注意 阅读全文
posted @ 2019-08-15 10:24 maider 阅读(177) 评论(0) 推荐(0)
摘要:基于插入排序 阅读全文
posted @ 2019-08-15 10:13 maider 阅读(108) 评论(0) 推荐(0)
摘要:一、冒泡排序 可以改进的地方,在外层循环开始的地方声明一个 int flaf = 0;交换语句后面加个flag = 1,意思是如果在内层循环中发生过交换,flag为1,否则没有发生过交换,说明已经有序,排序到此结束。 冒泡排序的优点: 即使带排数列是存放在链表中的,冒泡排序依然可以起作用。 二、插入 阅读全文
posted @ 2019-08-15 10:03 maider 阅读(438) 评论(0) 推荐(0)
摘要:双亲表示法:孩子指向父亲。 一、引出 二、集合运算 将小树挂到大树上,使树的高度不会太大。 阅读全文
posted @ 2019-08-14 22:05 maider 阅读(321) 评论(0) 推荐(0)