数据结构和算法
文章平均质量分 67
一江溪水
这个作者很懒,什么都没留下…
展开
-
红黑树是什么
红黑树 红黑树是一种接近平衡的二叉搜索树,它能够保证任意一个节点左右子树的高度差不会超过较低子树的高度,也就是两棵子树的高度比值不会超过 2 倍。这样我们可以使搜索的时间复杂度更接近 O (logN)。为了保证树的平衡,我们需要在添加或删除元素的时候不断的调整树的结构,使每个节点的左右子树上的节点个数尽可能相等。 红黑树的性质 每个节点不是红色就是黑色; 根节点永远是黑色; 红色节点的子节点必须是黑色; 任意一个节点到每个叶子节点的路径上都包含相同数量的黑色节点; 每次添加新节点都默认为红色。 红黑树调原创 2021-11-13 14:03:33 · 841 阅读 · 0 评论 -
直接插入排序和冒泡排序改进算法
直接插入排序 插入排序的基本方法是:每一步都将待排序的元素,插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。 直接插入排序基本思想:将一个元素插入到已排好序的序列中,从而得到一个新的有序序列(将序列的第一个数据看成是一个有序的子序列,然后从第二个记录逐个向该有序的子序列进行有序的插入,直至整个序列有序) 直接插入排序是由两层嵌套循环组成的。外层循环标识并决定待比较的数值。内层循环为待比较数值确定其最终位置。直接插入排序是将待比较的数值与它的前一个数值进行比较,所以外层循环是从原创 2020-07-05 10:25:03 · 239 阅读 · 0 评论 -
猴子选大王和纸牌游戏
1.猴子选大王 一堆猴子都有编号,编号是1,2,3 …m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。 要求 输入数据:输入m,n m,n 为整数,n<m 输出形式:中文提示按照m个猴子,数n 个数的方法,输出为大王的猴子是几号 ,建立一个函数来实现此功能 数据结构设计 设计一个循环的单链表,使其可以一直循环数数,每数到N个即删除节点,最后留下了的即为大王 typedef struct LNode原创 2020-07-05 09:21:36 · 1621 阅读 · 0 评论 -
城市公交站点及换乘方案设计
城市公交站点及换乘方案设计 设计要求 城市公共交通站点,站点之间的道路,及道路长度实际构成数学意义上的无向加权图。现请设计实现一个算法,求任意两站点间最短路径距离且输出该最短路径上的每个站点,然后给一个乘车换乘方案。 站点要求 数据结构设计 在这里插入代码片 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显原创 2020-07-03 23:20:46 · 2225 阅读 · 1 评论