- 博客(21)
- 收藏
- 关注
原创 208. 实现 Trie (前缀树)C++
前缀树主要是利用了只有26个英文字母条件下,相当于用了个26叉树。有insert,find,prefix三种方法。参考大神的前缀树代码,把它简单转换了一下。不过额外加了个isEnd,这个还挺巧妙的。
2024-03-11 20:52:37 176 1
原创 左程云算法学习《个人笔记》C++版5、二叉树先序、中序、后序非递归版,层次遍历
计算二叉树的最大宽度,感觉左神的方法太复杂了,用一个简易版的层次遍历+哈希表很容易就得出来了(也不算层次遍历,只是用了层数的概念)此时将先序遍历的左右节点访问顺序颠倒一下,变成头右左,再整体逆序,就是左右头 ,就是后续遍历了,所以代码在此基础上修改。C++非递归二叉树的中序遍历,其实只有输出res.push_back(BT->val);先序遍历,访问节点的顺序是头左右,后序遍历访问的顺序是左右头。C++非递归二叉树的先序遍历。
2024-03-08 23:02:09 259 1
原创 左神算法学习(个人笔记)C++版3.快排,堆,基数(桶)排序、多种算法总结
3.优先级队列(priority_queue())其实是堆。同时,学会计算建堆的时间复杂度为O(n)4.有点累了,桶排序晚点再看。同时用了C++的比较器。
2024-03-06 12:48:09 124
原创 左程云算法学习(个人笔记)C++版2.一些O(n2)排序、归并排序的应用、(双指针问题)
例子:[1,3,4,2,5]1左边比1小的数,没有;4左边比4小的数,1、3;2左边比2小的数,1;5左边比5小的数,1、3、4、2;所以小和为1+1+3+1+1+3+4+2=16。逆序对问题在一个数组中,左边的数如果比右边的数大,则折两个数构成一个逆序对,请打印所有逆序对。必须在不使用库内置的 sort 函数的情况下,且仅使用常数空间的一趟扫描算法解决这个问题。在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和。对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。
2024-03-05 22:04:49 327
原创 左程云算法学习(个人笔记)C++版1.认识复杂度、位运算、局部最小值(二分)
问题2::局部最小值问题(给出一串数据,找到其中的一个局部最小值)这题有点好玩,学习了1.位运算的(与)和(异或)这题有点意思,不一定有序才能有二分。2.如何取最后一位非零数。
2024-03-05 16:36:52 283
原创 C++ 洛谷 P1015 [NOIP1999 普及组] 回文数
4.如何将一个16进制的string数据转化为int型[也通过ascii进行转换]3.如何将string型的数字转化为int型[通过ascii转换]2.如何判断一个数据(int or string)是否回文。1.学习如何将数据(int or string)转置。这题写了很久很久,但确实收获也很大。
2024-03-01 11:35:42 235 1
原创 C++ 洛谷 P1012 [NOIP1998 提高组] 拼数
这题收获挺大的,知道了sort如何降序(额外定义一个cmp),sort如何对vector排序。
2024-02-29 20:37:17 175 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人