- 博客(10)
- 问答 (1)
- 收藏
- 关注
原创 FDS作业记录 · 二叉树
对于这个general tree(鼠绘,不要在意),它的postorder traversal是。16 * 1 + n_2 * 2 = 2015,得n_2= 999.5,故不存在这样的二叉树。其中度为1的结点贡献1条边,度为2的结点贡献2条边,度为0的结点不贡献边。对于这个二叉树,它的preorder traversal是。它的postorder traversal是。它的preorder traversal是。它的inorder traversal是。新树的先序遍历为原树的先序遍历。
2024-04-25 21:02:10
472
1
原创 FDS作业记录 · 栈和队列
stack是一种FILO ( First In Last Out ) 结构,故p和s两个字母必须在入栈后立即出栈,故不同的情况仅发生在前三个o上。queue是FIFO ( First In First Out ) 结构,故enqueue了4,dequeue了1,只剩下2->3->4。以此类推,5 - 8 = -3,5 * (-3) = -15,故选A。两次入队两次出队,入队一次rear+1,出队一次front+1。④ push 5 到S1中,S1 = {5,5,8}① 从S1中pop两个数:2,3。
2024-04-24 19:30:44
1005
原创 FDS作业记录 · 链表
将两个升序链表重新连接为一个大的升序链表, 比较次数最少的情况应该是两链表(记为A,B)中的数据都是连续递增的,这样只需要遍历A表(B表),与B表(A表)的第一个元素进行比较即可。如A表数据为1,2,3,4,B表数据为5,6,7,8,则只需要比较4次。将p删除,我们需要把p的前驱结点的next指向p的后驱结点,p的后驱结点的prior指向p的前驱结点。因为需要快速进行访问操作,所以排除简单链表结构,如A的双向链表,B的单向环链表和C的双向环链表。我们需要进行的操作是访问随机位置并插入、删除最后一个元素。
2024-04-24 13:45:00
534
原创 FDS作业记录 · 复杂度分析
P2:同理,T(N) = 3T(N/3) + 1 = 9T(N/9) + 1 + 3 = ... ... = 3^k * T(1) + 1 + 3 + ... ... + 3^(k-1).令3^k = N,得k = log N( 以3为底 ),故3^k = N,3^(k-1) = N/3,故P2的时间复杂度为N。令3^k = N,得k = log N( 以3为底 ),故P1的时间复杂度为O(logN);因为x是由0不断加1得到的,故时间复杂度即为O(n^(1/2)),选B。说实话我还没法一眼看出来……
2024-04-24 08:52:14
723
原创 FDS作业记录 · 二叉搜索树
很容易被题目带沟里,自然而然觉得4和6分布在5的左右两边,但其实5不一定是4和6的parent,我们也可以画出如下结构:即4是右子树,6是左子树的情况。
2024-04-18 18:07:42
1008
2
原创 FDS编程练习 · 其二 · 冒泡排序与二分查找的简明过程示范
输出为Found或Not Found(可根据需要修改输出量)。输入为数据个数n,需要查找的数x以及含n个数据的数组。
2024-03-29 10:51:17
258
1
原创 FDS编程作业记录 · 其一 · 多项式加和
多项式加和具体题干此处略去。函数接口如下:int main()a = Read();b = Read();Print(s);return 0;
2024-03-18 19:53:39
415
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人