数据结构--冒泡排序

文章目录概念算法思想代码实现 概念 冒泡排序是一种交换排序。即两两比较待排序的关键字,并交换不满足次序要求的那对数,直到整个表都满足次序要求为止。 算法思想 两两比较序列中数字,若两者中前者比后者大,则交换两者位置。 那么这样做的结果就是每一次交换后,最大的都会冒泡到了最后。 也就是说,第一次冒泡...

2019-07-22 12:05:51

阅读数 18

评论数 0

数据结构--希尔排序

文章目录概念算法步骤代码实现 概念 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率; 但插入排序一般来说是低效的,因为...

2019-07-22 09:09:06

阅读数 13

评论数 0

数据结构--折半插入排序

所谓折半插入排序,可以理解为折半查找与直接插入排序的结合。直接插入排序需要待排序数字与有序数组逐个比较。而折半查找则可以减少比较的次数,从而较快的得到待排序数字应处的位置。 function binaryInsSort(arr){ if(!arr && !a...

2019-07-21 22:33:10

阅读数 10

评论数 0

数据结构--直接插入排序

直接插入排序 概念 插入排序的基本思想是:在一个已排好序的记录子集的基础上,每一步将下一个待排序的记录有序地插入到已排好序的记录子集中,直到将所有待排记录全部插入为止。 插入类排序的整个过程就如同打扑克的理牌过程类似,拿到一张牌然后在已排好序的序列中找到一个合适的位置将这张牌插入。 functi...

2019-07-21 21:47:59

阅读数 22

评论数 0

散列(Hash)表

文章目录概念定义构造散列函数的方法。直接定址法数字分析法平方取中法折叠法除留余数法随机数法处理冲突的方法开放定址法线性探测再散列平方探测再散列例子链地址法散列表的查找散列表的性能 概念 静态查找表和动态查找树表的共同特点是记录在表中的位置和它的关键字之间不存在一个确定的关系,查找的过程为给定值依次...

2019-07-15 11:39:17

阅读数 21

评论数 0

数据结构--动态查找树表

文章目录二叉排序树概念查找算法插入算法删除算法被删除的节点时叶子节点被删除的节点只有左子树或只有右子树被删除的结点既有左子树,也有右子树查找性能的分析平衡二叉树概念构造平衡二叉树的方法性能分析 二叉排序树 概念 二叉排序树或者是一棵空树 或者是具有如下特性的二叉树: 若它的左子树不空,则左子树上...

2019-07-15 10:00:23

阅读数 39

评论数 0

数据结构--静态查找表

文章目录顺序查找表----顺序查找法性能有序查找表----折半查找法 静态查找表:仅作查询和检索操作的查找表。 查找的方法取决于查找表的结构。 由于查找表中的数据元素之间不存在明显的组织规律,因此不便于查找。 为了提高查找的效率,需要在查找表中的元素之间人为地附加某种确定的关系,换句话说,用另外一...

2019-07-10 11:14:49

阅读数 10

评论数 0

数据结构--霍夫曼树与霍夫曼编码

文章目录最优树的定义如何构造最优树(霍夫曼算法)霍夫曼编码前缀编码总结 最优树的定义 节点的路径长度定义为:从根节点到该节点的路径上分支的数目。 树的路径长度定义为:树中每个节点的路径长度之和。 树的带权路径长度定义为:树中所有叶子节点的带权路径长度之和。(叶子节点权值*节点路径长度) 在所有含 ...

2019-07-08 20:44:37

阅读数 28

评论数 0

数据结构--二叉树遍历算法的应用

文章目录查询二叉树中的某个节点统计二叉树中叶子节点的个数参数形式全局变量形式返回值形式求二叉树的深度(后序遍历)复制二叉树(后续遍历)层次遍历二叉树总结 查询二叉树中的某个节点 在二叉树不空的前提下,和根结点的元素进行比较,若相等,则找到返回TRUE; 否则在左子树中进行查找,若找到,则返回TR...

2019-06-30 12:28:04

阅读数 50

评论数 0

数据结构--二叉树的遍历

文章目录遍历的概念搜索路径遍历算法(非递归)先序遍历中序遍历后序遍历先序遍历代码描述遍历算法(递归)中序遍历先序遍历由二叉树的先序和中序序列建树 遍历的概念 顺着某一条搜索路径巡访二叉树中的结点,使得每个结点均被访问一次,而且仅被访问一次。 “访问”的含义可以很广,如:输出结点的信息等。 “遍历”...

2019-06-30 10:21:40

阅读数 156

评论数 0

数据结构--二叉树的存储结构

文章目录顺序存储表示链式存储表示二叉链表三叉链表 顺序存储表示 以存储的数据是整型为例。 // 二叉树的最大节点数 # define MAX_TREE_SIZE 100 //0号单元存储根节点 typedef int SqBiTree[MAX_TREE_SIZE]; SqBiTree bt; 一...

2019-06-30 08:24:45

阅读数 85

评论数 2

数据结构--二叉树的概念与性质

文章目录概念二叉树的五种基本形态性质性质1性质2推广性质3推广性质4性质5特殊的二叉树满二叉树完全二叉树 概念 二叉树或为空树,或是有一个根节点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。 二叉树的五种基本形态 image 注:二叉树不等同于度不大于2的树,因为若两概念相同,则仅有左...

2019-06-29 17:10:29

阅读数 44

评论数 0

数据结构--循环队列

文章目录顺序存储结构循环队列代码实现注意 顺序存储结构 所谓顺序存储结构就是用一组地址连续的存储单元依次存放从队头到队尾的元素。 声明两个指针rear、front分别用来指示队尾元素的下一位置和队头元素的位置。 初始化时rear = front = 0 ,插入新的元素时尾指针加1,元素出队列时队头...

2019-06-29 15:39:42

阅读数 61

评论数 0

提示
确定要删除当前文章?
取消 删除