上一页 1 ··· 6 7 8 9 10 11 下一页

树和二叉树->存储结构

摘要: 文字描述 1 二叉树的顺序存储 用一组地址连续的存储单元自上而下,自左至右存储完全二叉树上的结点元素。 这种顺序存储只适用于完全二叉树。因为,在最坏情况下,一个深度为k且只有k个结点的单支树却需要长度为2k-1的一维数组。 2 二叉树的链式存储(二叉链表): 链表中的结点至少包含3个域:数据域,左指 阅读全文
posted @ 2018-08-07 18:33 LiveWithACat 阅读(300) 评论(0) 推荐(0) 编辑

树和二叉树->基础知识

摘要: 树的表示方法 1 一般表示法 2 广义表表示法 3 凹入表示法 树的基本术语: 树:n(n>=0)个结点的有限集 结点:包含一个数据元素及若干指向其子树的分支 结点的度:结点拥有的子树数成为结点的度 叶子(也叫终端结点):度为0的结点 非终端结点(也叫分支结点):度不为0的结点 树的度:树内各结点的 阅读全文
posted @ 2018-08-07 18:29 LiveWithACat 阅读(180) 评论(0) 推荐(0) 编辑

内部排序->其它->地址排序(地址重排算法)

摘要: 文字描述 当每个记录所占空间较多,即每个记录存放的除关键字外的附加信息太大时,移动记录的时间耗费太大。此时,就可以像表插入排序、链式基数排序,以修改指针代替移动记录。但是有的排序方法,如快速排序和堆排序,无法实现表排序。这种情况下就可以进行“地址排序”,即另设一个地址向量指示相应记录的位置;同时在排 阅读全文
posted @ 2018-08-01 18:15 LiveWithACat 阅读(947) 评论(0) 推荐(0) 编辑

内部排序->基数排序->链式基数排序

摘要: 文字描述 基数排序是和前面各类排序方法完全不相同,前面几篇文章介绍的排序算法的实现主要是通过关键字间的比较和移动记录这两种操作,而实现基数排序不需要进行记录关键字间的比较。基数排序是一种借助多关键字排序的思想对单逻辑关键字进行排序的方法。先介绍下什么是多关键字排序,以引入链式基数排序算法。 先介绍什 阅读全文
posted @ 2018-07-31 18:13 LiveWithACat 阅读(4023) 评论(0) 推荐(1) 编辑

内部排序->归并排序->2-路归并排序

摘要: 文字描述 假设初始序列有n个记录,则可看成是n个有序的字序列,每个字序列的长度为1,然后两两归并,得到[n/2]个长度为2或1的有序子序列;再两两归并,…, 如此重复,直到得到一个长度为n的有序序列为止,这种排序方法称为2-路归并排序。 示意图 算法分析 2-路归并排序的时间复杂度为nlogn; 2 阅读全文
posted @ 2018-07-30 18:09 LiveWithACat 阅读(854) 评论(0) 推荐(0) 编辑

操作系统->数组越界(待完善)

摘要: 工作中无意间发现了一段可能存在数组越界的代码, 就在本地仿者写了一段越界的小程序, 先记录下,待以后看操作系统知识的时候,再深入分析 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main(int argc, char *argv[]) 5 { 阅读全文
posted @ 2018-07-27 18:33 LiveWithACat 阅读(426) 评论(1) 推荐(0) 编辑

内部排序->选择排序->堆排序

摘要: 文字描述 堆排序中,待排序数据同样可以用完全二叉树表示, 完全二叉树的所有非终端结点的值均不大于(或小于)其左、右孩子结点的值。由此,若序列{k1, k2, …, kn}是堆,则堆顶元素(或完全二叉树的根)必为序列中n个元素的最小值(或最大值)。 若在输出堆顶的最小值之后,使得剩余n-1个元素的序列 阅读全文
posted @ 2018-07-27 18:28 LiveWithACat 阅读(311) 评论(0) 推荐(0) 编辑

内部排序->选择排序->树形选择排序

摘要: 文字描述 树形选择排序又称锦标赛排序; 比如,在8个运动员中决出前3名至多需要11场比赛, 而不是7+6+5=18场比赛(它的前提是甲胜乙,乙胜丙,则甲必能胜丙) 首先对n个记录的关键字进行两两比较,然后在(n/2)个较小者之间再进行两两比较,直至选出最小关键字的记录为止,这个过程可用一颗有n个叶子 阅读全文
posted @ 2018-07-26 20:04 LiveWithACat 阅读(758) 评论(0) 推荐(0) 编辑

内部排序->选择排序->简单选择排序

摘要: 文字描述 简单排序的基本思想是:每一趟在n-i+1(i=1,2,…,n)个记录中选取关键字最小的记录作为有序列表中的第i个记录。 示意图 略 算法分析 简单排序算法中,所需进行记录移动的操作次数较少,其最小值为0,最大值为3(n-1)。所需进行的关键字的比较次数相同,都为n(n-1)/2。因此总的时 阅读全文
posted @ 2018-07-25 18:40 LiveWithACat 阅读(208) 评论(0) 推荐(0) 编辑

内部排序->交换排序->快速排序

摘要: 文字描述 快速排序是对起泡排序的一种改进。它的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 一趟快速排序描述:假设待排序的序列为{L.r[s], L.r[s+1], … , L.r[ 阅读全文
posted @ 2018-07-25 18:36 LiveWithACat 阅读(271) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 下一页