- 博客(89)
- 收藏
- 关注
转载 一起复习链表
https://www.bilibili.com/video/BV1PpEDzLETV/?p=4&share_source=copy_web&vd_source=4cb0a543a633fa50a6332342ced69a20
2025-06-22 01:12:07
14
转载 一起复习顺序表
https://www.bilibili.com/video/BV1PpEDzLETV/?p=2&share_source=copy_web&vd_source=4cb0a543a633fa50a6332342ced69a20
2025-06-21 14:30:41
10
转载 康托展开,
【【数论系列】 康托展开 - 】https://blog.csdn.net/qq_40772692/article/details/80549303?
2025-05-25 21:13:57
25
原创 重温简单递归
◦ f 函数递归地查找数组指定范围内的最大值,先判断范围只有一个元素时直接返回该元素,否则将范围分成两部分,分别递归查找左右子范围的最大值,最后返回两者中的较大值。◦ 在 main 函数中定义数组,计算数组元素个数,调用 maxValue 函数获取最大值并通过 printf 输出。◦ maxValue 函数作为入口,调用 f 函数从整个数组范围开始查找最大值。◦ maxValue 函数作为入口调用 f 函数查找整个数组最大值。◦ f 函数功能与 C++ 版本类似,通过递归查找指定范围最大值。
2025-05-25 20:21:56
270
原创 关于**与&*
C 语言:必须用二级指针()来修改外部指针的指向。C++ 语言:可以用指针引用(),语法更简洁,避免二级指针的解引用操作。两者的核心目的都是在函数内部修改外部指针变量的值(即改变指针的指向,而非指针指向的内容),区别在于语言特性和语法实现。在 C/C++ 中,createTree函数参数使用二级指针(**相关,如,其中ThreadTree是,故实际为)和指针引用(*&相关,即1. 二级指针(,C 和 C++ 通用)作用:通过传递指针的地址(二级指针),在函数内修改外部指针变量的指向(如让root。
2025-05-21 18:37:10
750
转载 Gaussian splatting 简单集合
https://zhuanlan.zhihu.com/p/675561663?share_code=1eSqD7ytKxj3u&utm_psn=1908333584005198204https://zhuanlan.zhihu.com/p/661569671?share_code=1b5rJANJKCEj7&utm_psn=1908334131265372814https://zhuanlan.zhihu.com/p/675326584?share_code=JRM0Rl3FXisy&utm_psn=190
2025-05-21 01:40:35
36
转载 Codeforces Round 1009 (Div. 3)
第四个样例输入是 9 个数:9+9+8+2+4+4+3+5+3= 9+9=18, +8=26, +2=28, +4=32, +4=36, +3=39, +5=44, +3=47。这样,每次合并后的 x 是 a + b - 1,那么总和的变化是原来的 a + b 被替换为 x,所以总和减少了 1(因为 a + b - (a + b - 1) = 1)。因为每次合并两个数,总和的变化是:原来的 ai + aj 被替换为 x,而 x 最大是 ai + aj - 1,所以总和减少了 1。//我当时没看懂T T。
2025-05-19 21:28:15
69
3
转载 cf简单指南
【coderforce如何上2000分?总结 - CSDN App】https://blog.csdn.net/weixin_59561323/article/details/142679310?
2025-05-19 19:06:35
41
2
原创 哈夫曼树最优的简单证明
若最优树中最小的两个节点不相邻,它们与最深的兄弟节点交换后,树的带权路径长度更小,矛盾了。所以,最小节点必须相邻,哈夫曼树的贪心选择正确。若 H 是最优树,则 Δ=0:交换后 H′ 也是最优树,且 w1 和 w2 为兄弟。不是兄弟,设 u 和 v 是 H中一对最深的兄弟节点(深度最大,路径长度最长)的路径长度为 l(l 是 TH中最大深度,故 l≥。为兄弟,从而证明:(每次合并最小两节点)是最优的。因此,最优树中最小的两个节点必为兄弟。交换位置,得到新树 H′。 的路径长度变为 l,
2025-05-15 00:40:53
394
转载 链表的简单应用
https://www.bilibili.com/video/BV1tNpbekEht?spm_id_from=333.788.videopod.episodes&vd_source=b4c5fa9eb7533ad728c71a812b423f46&p=5
2025-05-06 13:11:22
48
转载 一起来复习简单链表
https://www.bilibili.com/video/BV1tNpbekEht/?p=3&spm_id_from=333.788.top_right_bar_window_history.content.click&vd_source=b4c5fa9eb7533ad728c71a812b423f46
2025-05-04 01:36:40
36
转载 一起来复习简单顺序表
https://www.bilibili.com/video/BV1tNpbekEht/?p=3&spm_id_from=333.788.top_right_bar_window_history.content.click&vd_source=b4c5fa9eb7533ad728c71a812b423f46
2025-05-03 20:33:10
33
转载 leetcode239.滑动窗口最大值
https://leetcode.cn/problems/sliding-window-maximum/
2025-04-30 03:21:24
34
2
转载 数据结构题单
https://leetcode.cn/discuss/post/3583665/fen-xiang-gun-ti-dan-chang-yong-shu-ju-j-bvmv/
2025-04-30 02:30:32
35
转载 leetcode617.合并二叉树
https://leetcode.cn/problems/merge-two-binary-trees/solutions/2387255/kan-dao-di-gui-jiu-yun-dai-ni-li-jie-di-leixm/
2025-04-28 02:33:04
56
2
原创 leetcode28. 找出字符串中第一个匹配项的下标_简单KMP
https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/solutions/732236/shi-xian-strstr-by-leetcode-solution-ds6y/
2025-04-24 23:41:23
455
原创 栈栈栈栈栈
如果栈为空(top 等于 0),说明所有入栈和出栈操作都匹配,即两个序列是合法的栈混洗序列,返回 true(在C语言中 true 通常用非零值表示,这里 top == 0 条件成立时返回 0 的逻辑非,即 1,表示 true);总的来说,这段代码通过模拟栈的入栈和出栈操作,在遍历入栈序列的过程中,不断检查是否有元素可以出栈,最终根据栈是否为空来判断入栈序列和出栈序列是否为合法的栈混洗序列。:将入栈序列中的当前元素 pushed[i] 压入栈中,同时 top 自增 1,指向新的栈顶位置。
2025-04-11 12:11:14
392
原创 栈混洗。。
/ 清空输入缓冲区。printf("一共有%llu种出栈序列。// 剪枝:如果栈内元素加上未入栈元素小于还需出栈元素,直接返回。printf("输入不合法,请重新输入栈长度:");printf("栈的混洗,请输入栈长度:");// 达到目标数量则停止生成。// 打印当前出栈序列。// 如果所有元素都已出栈。// 递归函数,计算所有出栈序列。// 判断栈是否为空。
2025-04-11 12:04:29
452
原创 简单括号匹配_栈
对于一个表达式,要想确认其中所使用的括号是否匹配,可以采用减而治之的思路,将每对邻近括号消去,则剩下的达式括号匹配当且仅当原表达式括号匹配。
2025-04-10 17:31:44
193
原创 列表之链表_C
https://blog.csdn.net/qq_36950117/article/details/109352870?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522207ed5150fcbf4bed555e10e4329bd7a%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=207ed5150fcbf4bed555e10e4329bd7a&
2025-04-09 23:24:43
602
原创 顺序栈简记
虽然可以用数组来模拟栈的功能,但这并不意味着栈和数组是一样的。使用数组模拟栈是为了在没有内置栈数据结构的情况下实现栈的功能,通过添加一些条件来限制对数组的访问,使其符合栈的特性。在出栈和取栈顶元素的操作中,当栈为空时,代码返回 -1e8 来表示操作失败。这里的 -1e8 是一个比较特殊的值,一般情况下栈中的元素不会是这个值,所以可以用它来作为错误标志。初始化为 -1 意味着栈为空,因为数组的下标从 0 开始,-1 表明此时栈中没有任何元素。加 1,出栈时也不需要先减 1。会加 1 指向新的栈顶元素。
2025-04-08 18:00:44
404
原创 漫步·简单二进制
错误示范:int t;int x;i<x;i++){while(i){int a=x%2;if(a!=b)break;x=x>>1;c=(c)>>1;return 0;
2025-04-08 13:41:31
161
原创 二分binarySearch_求简单有序集合交集
/出口时hi=lo+1,查找·区间仅含一个元素a[lo]int mi = lo + fib(i - 1) - 1;
2025-04-06 20:07:49
1067
原创 链表和数组的效率
• 数组:在数组中间插入或删除元素时,需要移动后续元素,平均时间复杂度为O(n)。• 链表:在链表中插入或删除元素,只需修改相关节点的指针,时间复杂度为O(1)。• 链表:需要从链表头开始逐个遍历节点,直到找到目标元素,平均时间复杂度为O(n)。• 链表:需要逐个节点遍历,虽然每次移动到下一个节点的操作简单,但由于需要依次访问每个节点,在节点数量较多时,遍历速度可能比数组慢。• 数组:可以通过索引快速遍历,通常使用for循环,每次访问下一个元素的时间是固定的,整体遍历速度较快。
2025-04-06 18:30:36
380
原创 几何法证明卡特兰数_栈混洗
考虑从坐标原点 (0, 0) 到点 (n, n) 的路径,要求路径只能向右(x 方向)或向上(y 方向)移动,并且路径不能越过直线 y = x(即始终满足 y<= x )。设 SP(n) 表示对 n 个元素进行合法栈操作(入栈 n 次,出栈 n 次 ,且任何时刻出栈次数不超过入栈次数 )的序列个数,这就和上述从 (0,0) 到 (n,n) 且不越过 y = x 的。从 (0, 0) 到 (n, n) 总共要走 2n 步,其中 n 步向右,n 步向上,根据组合数公式,总路径数为。建立起一一对应关系。
2025-04-03 23:53:29
975
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人