
数据结构与算法
机器学习与AI生成创作
这个作者很懒,什么都没留下…
展开
-
静态链表——用顺序存储实现链式存储功能
一 静态链表存于数组中,一个结构体成员存放数据,另一个成员(link)存放下一个数据的位置链表输出不是以数组顺序输出,而是由指定位置(link)输出。二 三 运行结果:原创 2017-04-06 13:52:44 · 1137 阅读 · 0 评论 -
二叉树扩展之三叉树C++类模板的实现
简介二叉树是递归定义的,这里的三叉树同样也是。三叉树分为左子树,中子树,右子树。三叉树的遍历顺序方式,我把它则分为四种:(1)先序:根->左->中->右(1)中1序:左->根->中->右(1)中2序:左->中>根->右(1)后序:左->中->右->根例如以下一棵三叉树:将其以如下方式进行存储在test.txt文件中(便于程序先序读取创建一颗树,空用#原创 2017-03-20 10:34:25 · 4973 阅读 · 0 评论 -
线索二叉树
一 引入遍历二叉树有先序,中序,后序,这三种可以用递归或者栈来实现;层序遍历可以用队列实现。如果为了更加方便高效的遍历二叉树,容易想到的是在二叉树结点增加两个指针,分别指向前驱和后继结点。但无疑会大大降低结点存储密度。不过考虑到二叉树中,n0=n2+1,也就是说,叶子结点数=度为2的结点数+1;空链域数目:每个叶子结点有2个+每个度为1的结点有1个=2*n0原创 2017-04-07 23:05:50 · 518 阅读 · 0 评论 -
哈希(散列)表之开放定址法的C++类模板实现
一 简介散列表(Hash table哈希表),根据关键码值(Key value)而直接进行访问的数据结构。通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。打个非常不严谨的比方:NBA2K是一个广受篮球爱好者追捧的游戏。里面有每个NBA球员的战斗值,越高越厉害。现在假设2K战斗值从1到100放在原创 2017-03-26 22:31:40 · 1006 阅读 · 0 评论 -
三元组压缩存储稀疏矩阵的C++类模板实现
一 简介设m*n 矩阵中有t 个非零元素且t,这样的矩阵称为稀疏矩阵。遇到阶数很高的大型稀疏矩阵。如果按常规分配方法,顺序分配在计算机内,那将是相当浪费内存的。为此提出另外一种存储方法,仅仅存放非零元素。但对于这类矩阵,通常零元素分布没有规律,为了能找到相应的元素,所以仅存储非零元素的值是不够的,还要记下它所在的行和列。将三元组按行优先的顺序,同一行中列号从小到大的规律原创 2017-03-25 17:12:51 · 1428 阅读 · 0 评论