数据结构
宇光十色
这个作者很懒,什么都没留下…
展开
-
平衡二叉树(AVL)
前言:以下是转自Heart.X.Raid的博客:http://hxraid.iteye.com/blog/609949 。可能链接丢失,所以在此进行全文转载,忘原作者谅解。 在上一个专题中,我们在谈论二叉查找树的效率的时候。不同结构的二叉查找树,查找效率有很大的不同(单支树结构的查找效率退化成了顺序查找)。如何解决这个问题呢?关键在于如何最大限度的减小树的深度。正是基于这个想法,平衡二叉树原创 2013-07-31 17:21:11 · 610 阅读 · 0 评论 -
漫谈经典排序算法:四、归并排序(合并排序)
1、序言这是《漫谈经典排序算法系列》第四篇,解析了归并排序。 各种排序算法的解析请参考如下: 《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》《漫谈经典排序算法:四、归并排序》《漫谈经典排序算法:五、线性时间排序(计数、基数、桶排序)》《漫谈经典排序算原创 2013-07-31 17:16:25 · 659 阅读 · 0 评论 -
漫谈经典排序算法:五、线性时间排序(计数、基数、桶排序)
1、序言这是《漫谈经典排序算法系列》第五篇,给出了三种线性时间排序,分别是计数排序、基数排序、桶排序。各种排序算法的解析请参考如下: 《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》《漫谈经典排序算法:四、归并排序》《漫谈经典排序算法:五、线性时间排原创 2013-07-31 17:17:07 · 451 阅读 · 0 评论 -
漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析
1、序言这是《漫谈经典排序算法系列》第一篇,该篇从最简单的选择排序算法谈起,由浅入深的详细解析两种选择排序算法的过程及性能比较。逐步揭露选择排序的本质及其基本思想。各种排序算法的解析请参考如下: 《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》《漫谈经典排序算原创 2013-07-29 13:28:00 · 522 阅读 · 0 评论 -
漫谈经典排序算法:二、各种插入排序解析及性能比较
1、序言这是《漫谈经典排序算法系列》第二篇,解析了各种插入排序算法。主要包括:直接插入排序、折半插入排序、表插入排序、希尔插入排序。每一种算法的开头都叙述了引出该算法的原因,然后给出代码,最后分析算法效率及和其他插入排序相比,优劣在哪里。各种排序算法的解析请参考如下: 《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》原创 2013-07-29 13:28:51 · 486 阅读 · 0 评论 -
漫谈经典排序算法:三、冒泡排序 && 快速排序
1、序言这是《漫谈经典排序算法系列》第三篇,先解析了冒泡排序,然后引出快速排序,给出了快速排序的两种实现版本。各种排序算法的解析请参考如下: 《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》《漫谈经典排序算法:四、归并排序》《漫谈经典排序算法:五、线性时间原创 2013-07-31 17:15:21 · 418 阅读 · 0 评论 -
漫谈经典排序算法:六、各种排序算法总结
1、这是《漫谈经典排序算法》最后一篇,总结了各种排序算法的时间复杂度、稳定性、辅助空间、约束条件。各种排序算法的解析请参考如下: 《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》《漫谈经典排序算法:四、归并排序》《漫谈经典排序算法:五、线性时间排序(计数、基数、桶原创 2013-07-31 17:17:43 · 422 阅读 · 0 评论 -
随机系列生成算法
1、问题描述 给定一个正整数n,需要输出一个长度为n的数组,数组元素是随机数,范围为0 – n-1,且元素不能重复。比如 n = 3 时,需要获取一个长度为3的数组,元素范围为0-2。2、准备 首先,让我们先构造如下函数:[cpp] view plaincopy//随机数生成函数,生成[a,b]之间的一个随机数字 //其原创 2013-07-31 17:18:23 · 572 阅读 · 0 评论 -
二叉查找树(二叉排序树)的详细实现
1、序 详细实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继2、二叉查找树简介 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树3、原创 2013-07-31 17:19:40 · 491 阅读 · 0 评论 -
散列表(哈希表)
1、序 该篇分别讲了散列表的引出、散列函数的设计、处理冲突的方法。并给出一段简单的示例代码。2、散列表的引出 给定一个关键字集合U={0,1......m-1},总共有不大于m个元素。如果m不是很大,我们可以定义一个数组T[0...(m-1)],把U映射到数组T上,每个位置对应U中的一个关键字,若U中没有关键字为k的元素,则T[k]=NULL。我们称T为直接原创 2013-07-31 17:19:01 · 516 阅读 · 0 评论