- 博客(13)
- 收藏
- 关注
原创 数据结构--哈夫曼树
Tn},其中每一棵二叉树Ti(1<=i<=n)都只有一个权值为 wi 的根结点,其左、右子树为空。② 找最小树:在森林 F 中选择两棵根结点权值最小的二叉树,作为一棵新二叉树的左、右子树,标记新二叉树的根结点权值为其左、右子树的根结点权值之和。简单的说就是先选择权小的,所以权小的结点被放置在树的较深层,而权较大的离根较近,这样一来所构成的哈夫曼树就具有最小带权路径长度。③ 删除与加入:从 F 中删除被选中的那两棵二叉树,同时把新构成的二叉树加入到森林 F 中。
2023-05-10 22:46:04 47
原创 数据结构:括号匹配
2.依次遍历该序列,如果当前为左括号,则压入栈顶,等待右括号与之匹配。如果为右括号,则先判断栈是否为空,为空则说明之前的序列中不包含与之对应的左括号,匹配失败;如果不为空,则弹出栈顶括号与当前右括号匹配,匹配成功则遍历下一个括号,匹配失败则结束函数。3.返回函数时,判断栈是否为空,为空返回true,不为空,返回false,说明还有左括号未匹配。1.输入一串连续的括号序列,包含(、]、{,以及该序列的长度。匹配序列示例: ([()]) [] ()[()]不匹配序列示例:([()] ] (][()]
2023-04-24 21:49:22 175
原创 汉诺塔问题
(2)对于不确定的移动步骤(盘子数>1),需要仿照之前问题进行三步拆解,其中第二步由于是移动了一个盘子,直接输出移动路径即可。(1)对于确定的移动步骤(盘子数为1),只需要输出移动路径即可;
2023-04-23 12:11:57 111
原创 线性表总结
插入操作insert(i,x):在线性表的第i个数据元素之前插入一个值为x的数据元素。在线性表中逻辑上相邻的数据元素,在物理存储上也是相邻的。查找操作indexOf(x):返回线性表中首次出现的指定的数据元素的位序号,若线性表中不包含此数据元素,则返回-1。取元素操作get(i):读取并返回线性表中的第i个数据元素的值。不便于插入和删除操作,这是因为在顺序表上进行的插入和删除操作会引起大量数据元素的移动。求线性表的长度操作length():求线性表中的数据元素的个数并返回其值。线性表的顺序存储及实现。
2023-04-19 22:49:35 42
原创 数据结构--静态链表
想了很久,知道了游标的作用,主要是用来计算链表的长度,***因为结构体数组一定义就要定义长度,你在计算的时候也不知道里面的data存放数据了没,没存放数据的地方会有数据(乱码),不好计算,用游标就完美解决了这个问题,***这个静态链表完美继承了顺序存储结构和动态单链表的优点,但是有顺序存储的缺点,所耗内存一般比实际内存更大,就是这个样子了.
2023-04-11 13:23:35 42 1
原创 数据结构·线性表
Initialize a sequential list.No error checking for this function.初始化顺序列表 此函数无错误检查 在线。
2023-03-27 23:36:13 39
原创 数据结构·第一次课堂收获
假设函数调用被写为mergesort(1,n),函数merge()的时间复杂度为O(n).数据的物理结构:又称存储结构,是数据的逻辑结构在计算机中的表示(影像)。算法的设计目标(评判“好算法”的几个方面):正确性,可读性,健壮性,高效率与低存储量需求。A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的。数据的逻辑结构:线性结构,非线性结构(集合,树结构,图结构)8.在下面的程序段中,对x的赋值语句的频度为(C)1. 算法的计算量的大小称为算法的_复杂度_
2023-03-23 06:36:31 127 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人