前言 达哥题果然恐怖如斯良心啊。 T1T2都是送分题太让蒟蒻感动啦。 T3工程题太让我感动啦。 还有达哥的fread让我意识到fread的数组大小好像跟数据没什么关系?? T1 特判题。 时间复杂度$\Theta(logN)$,空间复杂度$Theta(1)$。 #include<cstdio> #d ...
分类:
其他好文 时间:
2019-10-18 18:48:04
阅读次数:
113
说道排序,我们经常提到时间复杂度和空间复杂度,那么什么是时间复杂度什么又是空间复杂度呢? 时间复杂度:时间复杂度是指执行这个算法所需要的计算工作量 求解算法的时间复杂度的具体步骤是: ⑴ 找出算法中的基本语句; 算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。 ⑵ 计算基本语句的 ...
分类:
编程语言 时间:
2019-10-17 11:51:19
阅读次数:
65
第二章总结 1.递归 1.1递归是什么:递归是自己定义自己,直接或间接地调用自己的算法。 1.2递归常见类型:多变元递归、多步递归、嵌套递归、联立递归。 1.3优点:可读性强,结构清晰,为调试提供很大便利; 缺点:运行效率较低,空间复杂度和时间复杂度都耗费比较大。 2.分治 2.1分治是什么:把一个 ...
分类:
其他好文 时间:
2019-10-15 00:08:07
阅读次数:
110
题目: 给定一个二叉树,找出其最小深度。 注意最小深度的定义! 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 一、递归法 时间复杂度:O(n)。需要遍历每一个节点。 空间复杂度:最差情况下,当一棵树是非平衡树的时候,例如每个节点都只有一个孩子,树的 ...
分类:
其他好文 时间:
2019-10-10 12:55:19
阅读次数:
101
1 空间复杂度O(M) public static Node copy(Node node){ if(node==null||node.next==null) return node; Node cu=node; HashMap<Node ,Node> map=new HashMap<>(); wh ...
分类:
其他好文 时间:
2019-10-09 15:32:38
阅读次数:
91
第一种方法: 额外空间复杂度O(N) ,遍历链表时,将元素入栈,再次遍历时,从栈中弹出元素,比较两者的大小,就可以判断是不是回文链表第二种方法:利用快慢指针,先找到链表的中间位置,然后反转链表的后半部分,再分别从链表两头遍历比较大小,最后将链表恢复为原始结构 ...
分类:
其他好文 时间:
2019-10-08 18:39:39
阅读次数:
114
什么是算法 算法的五个特征:有穷性,确定性,可行性,有输入,有输出 算法的设计原则:正确性,可读性,健壮性bug/高效率与低存储。内存+cpu内存占用最小。 评价算法的两个重要指标:时间复杂度(运行一个程序花费的时间),空间复杂度(运行程序所需要的内存 OOM 一般就是找数组容器等)。 1.常数性时 ...
分类:
编程语言 时间:
2019-10-08 12:39:46
阅读次数:
102
1 "题目" 2 思路与代码 + 思路一:暴力法(两层For循环) + 时间复杂度:O(n^2) + 对于每个元素,我们试图通过遍历数组的其余部分来寻找它所对应的目标元素,这将耗费 O(n) 的时间。因此时间复杂度为 O(n^2)。 + 空间复杂度:O(1) + 原理:遍历每个元素 xx,并查找是否 ...
分类:
编程语言 时间:
2019-10-06 09:24:12
阅读次数:
76
10min:打完T1,为了不滑天下之大稽,打了一个对拍 50min:打完了T2T3的暴力,准备推一推T2。 2h:打完T3的正解和对拍。 3h:T3写了一个O(n*log2(n)*log2(n))的40分算法。 最后调T3的60分线段树调到考试结束也没过对拍。 期望分数:240 实际得分:200 就 ...
分类:
其他好文 时间:
2019-10-04 09:45:20
阅读次数:
72
A 没什么好说的,$f[i] = f[i 1] + f[i 2] f[i 11]$ 都没推出来,更没有想到用用矩阵乘法+KSM来求(类似Fibonacci的矩阵乘法来整),模拟暴力混$60$ B 每日一失智 认认真真算空间复杂度,$10005 \times 10005$再抹掉$6$个$0$,算出来$ ...
分类:
其他好文 时间:
2019-10-03 23:44:33
阅读次数:
106