![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习笔记
文章平均质量分 60
ERoslon青年
这个作者很懒,什么都没留下…
展开
-
算法学习笔记——单双链表及其反转—堆栈诠释
什么是单链表,单链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null单链表不要求逻辑上相邻的两个元素在物理位置上也相邻,因此不需要连续的存储空间单链表的入口节点称为链表的头结点也就是head// 结点的值// 下一个节点// 节点的构造函数(有两个参数)原创 2024-06-26 00:26:49 · 848 阅读 · 0 评论 -
算法学习笔记——算法和数据结构简介
精确求解大厂算法和数据结构笔试、面试题、acm比赛或者和acm形式类似的比赛,考虑的都是硬计算类算法但是某些问题使用硬计算类的算法,可能会让计算的复杂度较高。原创 2024-06-06 22:18:59 · 255 阅读 · 0 评论 -
算法学习笔记——时间复杂度和空间复杂度
因为一次扩容后可能很久不会再扩容了,每次都计算整体的复杂度太麻烦就把每次扩容能分摊到的时间复杂度进行计算,看整个过程调用了多少次来估计整体的时间复杂度。涉及动态数组,先申请一个固定大小的数组,当数组不够用时,再申请一个相应倍数的数组,把旧数组中的值拷贝到旧数组中,一共加入了N个数总代价,单次调用是。链表的get(i)方法不是常数操作,因为链表不是连续的存储空间,靠着指针链接着,要靠头节点一个个的往下查,是一定要查找这么多个数的。比如只有一个while的循环的冒泡排序,其实时间复杂度是。原创 2024-06-04 23:47:45 · 791 阅读 · 1 评论 -
算法学习笔记——二分搜索
0位置不是峰值,N-1位置不是峰值,则呈现左边上扬右边下降的趋势,这中间会出现一个或者多个峰值。数组条件:数组中相邻的两个数不相等, 只返回一个峰值就行。为峰值,如果右边或者左边没数值可以认为是无穷小。原创 2024-06-02 11:56:35 · 771 阅读 · 0 评论 -
算法学习笔记——对数器
对数器的门槛其实是比较高的,因为往往需要在两种不同思路下实现功能相同的两个方法,暴力一个、想象中的最优解是另一个。以后的很多题目都用到对数器,几乎可以验证任何方法,尤其在验证贪心、观察规律方面很有用。关键是第5步,找到一个数据量小的错误样本,便于你去带入debug。然后把错误例子带入代码一步一步排查。Print大法、断点技术都可以。原创 2024-06-02 11:56:01 · 344 阅读 · 0 评论 -
算法学习笔记——选择、冒泡、插入排序
算法学习笔记——选择、冒泡、插入排序。原创 2024-06-02 11:55:03 · 304 阅读 · 0 评论 -
算法学习笔记——二进制
例如:-2 :0010 -> 0010 - 1 -> 0001 -> 取反 -> 1110。因为1是一个int类型,只有32位,所以(1原创 2024-06-02 11:54:13 · 457 阅读 · 0 评论