数据结构
记录数据结构之美
笑遥小哥哥
山坡若陡缓步迈
展开
-
动态规划之投资问题
问题描述有m个项目,n元钱,函数fk(x),(<0=x<=n)表示对第k个项目投资x元钱的收益,函数Fm(n)表示对m个项目投资n元钱的最大收益,求对每个项目投资多少钱,并给出Fm(n);递归关系分析设数组f[i][j]表示对第i个项目投资j元钱的收益。设数组F[i][j]表示对i个项目投资j元钱的最大收益。设数组m[i][j]表示对i个项目投资j元钱最大收益时,第i个项目投...原创 2020-03-28 16:22:36 · 338 阅读 · 0 评论 -
排序技术
排序的基本概念排序:给定一组记录的集合{r1, r2, ……, rn},其相应的关键码分别为{k1, k2, ……, kn},排序是将这些记录排列成顺序为{rs1, rs2, ……, rsn}的一个序列,使得相应的关键码满足ks1≤ks2≤……≤ksn(称为升序)或ks1≥ks2≥……≥ksn(称为降序)。正序:待排序序列中的记录已按关键码排好序。逆序(反序):待排序序列中记录的排列顺序与排...原创 2019-12-26 11:32:23 · 706 阅读 · 0 评论 -
查找
查找查找的基本概念列表:由同一类型的数据元素组成的集合。关键码:数据元素中的某个数据项,可以标识列表中的一个或一组数据元素。键值:关键码的值。主关键码:可以唯一地标识一个记录的关键码。次关键码:不能唯一地标识一个记录的关键码。查找 :在具有相同类型的记录构成的集合中找出满足给定条件的记录。查找的结果 :若在查找集合中找到了与给定值相匹配的记录,则称查找成功;否则,称查找失败。静态...原创 2019-12-24 16:13:22 · 218 阅读 · 0 评论 -
图中的Prim算法、Kruskal算法、Dijkstra算法、Floyd算法、拓扑排序算法、关键路径算法
Prim算法、Kruskal算法、Dijkstra算法、Floyd算法、拓扑排序算法、关键路径算法原创 2019-12-16 22:28:30 · 763 阅读 · 0 评论 -
数据结构之图
图图的逻辑结构图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G=(V,E),其中:G表示一个图,V是图G中顶点的集合,E是图G中顶点之间边的集合。在线性表和树中,结点个数可以为零,被称为空表和空树;在图中,顶点个数不能为零,但可以没有边。无向边(Vi,Vj),有向边<Vi,Vj>图中基本术语简单图:在图中,若不存在顶点到其自身的边,且统一条边不重复出现。在数据结...原创 2019-12-02 21:38:30 · 357 阅读 · 0 评论 -
数据结构之二叉树算法设计、树、二叉树、森林、哈夫曼算法相关
二叉树算法设计简介遍历二叉树是二叉树各种操作的基础,遍历算法中对每个结点的访问操作可以是多种形式及多个操作,根据遍历算法的框架,适当修改访问操作的内容,可以派生出很多关于二叉树的应用算法。设计算法求二叉树结点设计由中序遍历算法改造方案void Count(BiNode *root){ if (root) { Count(root->lchild); ...原创 2019-12-01 15:14:21 · 626 阅读 · 2 评论 -
数据结构之树和二叉树
树树的定义树:n(n>=0)个结点的有限集合。当n=0时,称为空树;任意一颗非空树满足以下条件:(1)有且仅有一个特定的称为根的结点;(2)当n>1时,除根结点之外的其余结点被分成m(m>0)个互不相交的有限集合T1,T2,Tm,其中每个集合又是一颗树,并称为这个根结点的子树。可知树的定义是采用递归方法树的基本术语结点的度:结点所拥有的子树的个数。树的度:树中各...原创 2019-11-10 13:52:17 · 251 阅读 · 0 评论 -
数据结构之字符串和多维数组
#字符串串的逻辑结构串:零个或多个字符组成的有限序列串长度:串中包含的字符个数空串:长度为零的串,记为:""。非空串通常记为:S="s1s2......sn"其中:S是串名,双引号是定界符,双引号引起来的部分是串值,si(1<=i<=n)是一个任意字符。子串:串中任意·个·连续的字符组成的子序列。主串:包含子串的串。子串的位置:子串的第一个字符在主串中的序号》串的...原创 2019-10-25 20:43:00 · 317 阅读 · 0 评论 -
数据结构之栈和队列
一、栈栈的逻辑结构,栈:仅限在表尾进行插入和删除操作的线性表。空栈:不含任何数据元素的栈。允许插入和删除的一端称为栈顶,另一端称为栈底。栈:操作特性;后进先出,栈只是对表的插入和删除的位置进行了限制,并没有限定插入和删除的进行时间。...原创 2019-10-07 18:29:08 · 212 阅读 · 0 评论 -
数据结构之线性表总结(双向链表,循环链表,静态链表)
一、循环链表 将单链表或者双链表的头尾结点链接起来就是一个循环链表。 最大的优点就是从循环表中任意一节点出发,都能访问到表中其他结点。 ![尾插法](https://img-blog.csdnimg.cn/20191005153548328.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,t...原创 2019-10-05 15:36:46 · 237 阅读 · 0 评论 -
数据结构之线性表总结
线性表的逻辑结构线性表的定义:是零个或多个具有相数据类型的数据元素的有限序列。数据元素的个数定义为线性表的长度。长度等于零时称为空表。L=(a1,a2,…,an),其中,ai称为数据元素。下标i表示该元素在线性表中的位置或序号。ai是表中的第i个元素。线性表的抽象数据类型定义定义一个表中元素的数据类型、初始化线性表、销毁线性表、求线性表的长度、取出元素序号为i的元素、查找值为x的元素,...原创 2019-09-17 23:23:16 · 243 阅读 · 0 评论