数据结构
Two_Bits
这个作者很懒,什么都没留下…
展开
-
哈夫曼树路径问题
哈夫曼树构造哈夫曼树的构造并不难,无非就是从给定的权值集合中选择最小的结点作为子树(哈夫曼几叉树就选几个)先进来构造,然后将选择的结点之和添加到原集合,接着重复上述步骤即可。最近遇到了一个很有意思的题目:下列选项给出的是从根分别到达两个叶结点路径上的权值序列,能属于同一棵哈夫曼树的是 () 。(D)A、24,10,5 和 24,10,7B、24,10,5 和 24,12,7C、24,1...原创 2019-11-28 12:02:46 · 4048 阅读 · 3 评论 -
二叉排序树的定义及其基本算法
一、二叉排序树1、二叉排序树的定义与存储结构 (1)二叉树的定义: 二叉排序树或者是空树或者是满足以下条件: 1)若它的左子树不空,则左子树上的所有关键字小于根关键字的值  ...原创 2019-10-21 19:39:31 · 2513 阅读 · 0 评论 -
详细论述最短路径(迪杰斯特拉算法和弗洛依德算法)
一、迪杰斯特拉算法 通常用迪杰斯特拉算法求图中某一顶点到其他各个顶点的最短路径。1、算法思想 设有两个集合S、T,集合S中存放图中已找到最短路径的顶点,集合T存放图中剩余顶点。初始状态时,集合S中只包含源点v0,然后不断地从集合T中选取到顶点v0路径最短...原创 2019-10-17 21:13:45 · 1261 阅读 · 0 评论 -
二路归并排序和基数排序
写在前面 前面有篇文章已经写了选择类排序、交换类排序和插入类排序(传送门),下面将介绍二路归并排序和基数排序。二路归并排序1、执行过程 原始序列:45 35 65 95 75 15 25 &n...原创 2019-10-13 21:21:06 · 808 阅读 · 0 评论 -
让我们一次把线性表搞个清清楚楚明明白白
一、写在前面如果我说数据结构是计算机从业人员最基本也必须要掌握的,就像演员记台词是本分一样,应该没人会纠正我吧。下面就让我们一起来将数据结构中最基本的线性表、栈和队列搞个清清楚楚明明白白。二、线性表首先我们要知道线性表是具有相同特性数据元素的一个有限序列,该序列中所含元素的个数称为线性表的长度。就比如说吧,有一队士兵,士兵的人数就对应线性表的长度,士兵的人数是有限的,这就对应了有限序列,队伍...原创 2019-07-15 20:16:52 · 298 阅读 · 0 评论 -
用浅显的话语来讲述栈这种数据结构
一、栈的基本概念1、栈的定义 栈是一种只能在一端进行插入或删除操作的线性表。其中允许进行插入或者删除操作的一端叫做栈顶,另一端叫做栈底。栈的插入和删除操作称为入栈和出栈。2、栈的特点 从栈的定义可以看出,栈只允许在栈顶进行插入删...原创 2019-07-25 20:52:58 · 236 阅读 · 0 评论 -
排序算法大集合:插入类(直接插入、折半插入、希尔)、交换类(冒泡、快排)、选择类。反正你想要的我都要。
排序总结 感觉还是要先总结一下排序算法的时间复杂度,空间复杂度,稳定性以及一些需要知道的小细节。时间复杂度 平均情况下,快速排序、希尔排序、归并排序和堆排序的时间复杂度都是O(nlogn),其他都是O(n^2)。一个特殊的是基数排序,时间复杂度是O(d...原创 2019-09-01 21:55:06 · 659 阅读 · 0 评论 -
浅谈最小(代价)生成树(普利姆算法和克鲁斯卡尔算法)
一、普利姆算法1、算法思想 从图中任选一个顶点,把它当作一棵树,然后从与这棵树相接的边中选取一条权值最小的边,并将这条边及其所连接的顶点并入这棵树中,此刻就得到了一棵有三个顶点的树。然后从与这棵树相接的边中任选一条权值最小的边,将这条边及其所连接的顶点并入这棵树中,依次类推,直到图中所有的顶点都被并入树中为止,此...原创 2019-09-23 17:36:36 · 1535 阅读 · 1 评论