堆排序的时间复杂度分析: 1. 对深度为 k 的堆,“筛选”所需进行的关键字 比较的次数至多为2(k-1); 3. 调整“堆顶” n-1 次,总共进行的关键 字比较的次数不超过 2 (log2(n-1)+ log2(n-2)+ …+log22) < 2n(log2n) 因此,堆排序的时间复杂度为O(nlogn)。 2. 对 n 个关键字,建成深度为h(=log2n+1)的堆, 所需进行的关键字比较的次数至多 4n;
2022-11-20 16:12:40 3.29MB 排序算法
1
静态线性表源代码,数据结构与算法课程实习(大一夏季学期)后续更新动态线性表,树,以及综合题目(运动会分数统计等java文件)
2022-11-14 14:29:49 5KB java 作业
1
首先,明白什么是双向链表。所谓双向链表是如果希望找直接前驱结点和直接后继结点的时间复杂度都是 O(1),那么,需要在结点中设两个引用域,一个保存直接前驱结点的地址,叫 prev,一个直接后继结点的地址,叫 next,这样的链表就是双向链表(Doubly Linked List)。双向链表的结点结构示意图如图所示。 双向链表结点的定义与单链表的结点的定义很相似, ,只是双向链表多了一个字段 prev。其实,双向链表更像是一根链条一样,你连我,我连你,不清楚,请看图。 双向链表结点类的实现如下所示 //一个链条的类 public class DbNode { //当前的数据所在priv
2022-11-09 18:34:04 186KB 双向链表 数据 数据结构
1
八大排序算法
2022-11-09 13:19:03 9KB 数据结构 排序算法
1
小甲鱼数据结构与算法课件+源码,适合初学者学习
2022-11-04 22:07:30 26.44MB -baijiahao expresschs once4l3 小甲鱼_ppt
1
Data Structures and Algorithms in Java 数据结构和算法 第四版 英文版本
2022-10-28 19:37:22 14.81MB Data Structures Algorithms
1
34_Python数据结构与算法
2022-10-27 18:01:03 7.11MB 34_Python数据结构与算法
1
西电 数据结构与算法导论 第三章 栈与队列 上机代码 C语言
2022-10-25 21:13:37 199KB 西电 数据结构 队列
1
数据结构和算法工作 包含我在佐治亚理工学院 2014 年秋季 CS 1332 课程中用 Java 编写的各种数据结构和算法的存储库
2022-10-25 14:42:24 42.84MB Java
1
COMP9024-数据结构和算法 该存储库包含我从UNSW的COMP9024单元分配的2016s2作业。
2022-10-18 11:56:04 337KB Java
1