算法基础学习个人笔记

个人算法基础的学习中的笔记

剑指Offer

数组部分

1_二维数组中的查找
2_旋转数组的最小数字
3_调整数组顺序使计数位于偶数前面
4_数组中出现次数超过一半的数字
5_连续子数组的最大和
6_把数组排成最小的数
7_数组中的逆序对
8_数字在排序数组中出现的次数
9_数组中只出现一次的数字
10_数组中重复的数字
11_构建乘积数组

字符串部分

1_字符串排列
2_左旋转字符串
3_把字符串转为整数
4_替换空格
5_正则表达式匹配
6_第一个只出现一次的字符串
7_翻转单词顺序序列
8_表示数值的字符串

链表部分

1_从尾到头打印链表
2_链表中倒数第k个结点
3_反转链表
4_合并两个排序的链表
5_复杂链表的复制
6_两个链表的第一个公共结点
7_链表中环的入口结点
8_删除链表中重复的结点

栈部分

1_用两个栈实现队列
2_包含min函数的栈
3_栈的压入、弹出序列

递归部分(与数学归纳法有点相似)

1_裴波那契数列
2_跳台阶
3_变态跳台阶
4_矩形覆盖

回溯法部分

1_矩阵中的路径
2_机器人的运动范围

二叉树部分

1_重建二叉树
2_树的子结构
3_二叉树的镜像
4_从上往下打印二叉树
5_二叉树中和为某一值的路径
6_二叉树的深度
7_平衡二叉树
8_二叉树的下一个结点
9_对称的二叉树
10_按之字顺序打印二叉树
11_把二叉树打印成多行
12_序列化二叉树

二叉搜索树部分

1_二叉搜索树的后序遍历序列
2_二叉搜索树与双向链表
3_二叉搜索树的第k个结点

其他部分

1_二进制中1的个数
2_数值的整数次方
3_顺时针打印矩阵
4_最小的K个数
5_整数中1出现的次数(从1到n整数中1出现的次数)
6_丑数
7_和为S的连续正数序列
8_和为S的两个数字
9_扑克牌顺子
约瑟夫环
10_孩子们的游戏_圆圈中最后剩下的数.cpp)
11_求1+2+3+…+n
12_不用加减乘除的加法
13_字符流中第一个不重复的字符
最大堆与最小堆
14_数据流中的中位数
15_滑动窗口的最大值

排序算法

在这里插入图片描述

1_冒泡排序
2_插入排序
3_希尔排序
4_快速排序
5_简单选择排序
6_堆排序
7_归并排序
8_基数排序

广度优先搜索算法与深度优先搜索算法

广度优先搜索算法(Breadth-First-Search,缩写为 BFS)是一种利用队列实现的搜索算法。简单来说,其搜索过程和 “湖面丢进一块石头激起层层涟漪” 类似。

深度优先搜索算法(Depth-First-Search,缩写为 DFS)是一种利用递归实现的搜索算法。简单来说,其搜索过程和 “不撞南墙不回头” 类似。

BFS 的重点在于队列,而 DFS 的重点在于递归。这是它们的本质区别。

BFS 常用于找单一的最短路线(从A到B是否有最短路劲),它的特点是 “搜到就是最优解”。

广度优先搜索用于在非加权图中查找最短路径,狄克斯特拉算法 用于在加权图中查找最短路径。仅当权重为正时狄克斯特拉算法才管用如果图中包含负权边,请使用贝尔曼——福德算法

而DFS 用于找所有解的问题,它的空间效率高,而且找到的不一定是最优解,必须记录并完成整个搜索,故一般情况下,深搜需要非常高效的剪枝。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 算法个人学习笔记pdf是一种以电子文档形式呈现的算法学习笔记资源。在这个pdf中,个人学习者可以记录和整理自己在学习算法过程中的思考、心得和解题方法。在这个学习笔记pdf中,个人学习者可以自由地添加和编辑自己的学习内容,包括算法的原理、算法实现的代码以及相应的思路和分析。通过这种方式,个人学习者可以更系统地学习和理解算法,并且能够随时查看自己的学习进展和学习成果。 通过编写和整理算法个人学习笔记pdf,个人学习者可以更好地理解和应用学习到的算法知识。这种记录和整理的过程可以帮助个人学习者更深入地思考问题和解决问题的方法,同时也可以帮助个人学习者更好地复习和回顾已学习算法知识。 对于其他学习者来说,算法个人学习笔记pdf也是一个宝贵的学习资源。其他学习者可以通过查阅个人学习者的学习笔记pdf,借鉴和学习其中的思路和方法。这样可以帮助其他学习者更好地理解和应用算法知识,同时也可以促进知识的分享和交流。 总的来说,算法个人学习笔记pdf是一个为个人学习者提供记录和整理学习过程的工具,同时也是一个为其他学习者提供学习资源和参考的媒介。通过编写和整理算法个人学习笔记pdf,个人学习者可以更好地学习和理解算法知识,同时也可以促进算法知识的分享和交流。 ### 回答2: 算法个人学习笔记pdf是一份记录个人学习算法的文档,具有以下特点和优势。 首先,这份学习笔记是以PDF格式保存的,这意味着可以在任何设备上方便地查看和阅读,无需依赖特定的平台或软件。无论是在电脑、平板还是手机上,都可以轻松地浏览和学习。 其次,这份学习笔记个人整理的,因此具有个性化的特点。不同的人在学习算法时可能会关注和理解的重点有所不同,通过个人学习笔记,可以反映出个人算法知识的理解和思考。这样的学习笔记对于个人学习和复习过程非常有帮助。 此外,这份学习笔记应当具有清晰的结构和逻辑。算法知识通常是有层次结构的,基本的知识点和概念通常是必须掌握的基础,而进阶的知识则需要在掌握基础知识的基础上构建。学习笔记应当按照这个结构和逻辑进行组织,便于学习者理解和掌握。 最后,这份学习笔记应当具有实例和练习题。算法知识的学习不能仅仅停留在理论层面,还需要通过实际的例子和练习题进行实践和巩固。学习笔记应当包含这些实例和练习题,并给出相应的解析和答案,方便学习者进行练习和巩固。 总而言之,算法个人学习笔记pdf是一份方便、个性化、结构清晰、包含实例和练习题的文档,对于学习者来说非常有价值。 ### 回答3: 算法学习笔记PDF是一份用于记录个人学习算法的文档。通过编写学习笔记,我可以对算法的理论和实践有更深入的理解和掌握。 首先,在学习算法的过程中,理论与实践结合是非常重要的。在学习笔记中,我可以记录下算法的原理和相关的数学推导,以及对应的代码实现和应用场景。通过这样的记录方式,我可以更好地理解算法的本质和使用方式。 其次,学习笔记可以帮助我回顾和巩固所学的知识。通过整理和总结学习笔记,我可以梳理出算法基础知识和重要思想,并将其记忆固定下来。同时,学习笔记也可以作为复习的资料,提供方便快捷的回顾方式。 此外,学习笔记还可以促进自我思考和学习方法的改进。在编写笔记的过程中,我可以思考和提出自己的问题,并通过查阅相关资料和与他人讨论,来找到问题的答案和解决方案。这样的思考过程可以帮助我提高问题解决的能力和学习效果。 最后,学习笔记可以与他人分享和交流。通过分享学习笔记,我可以与其他学习者进行交流和讨论,互相学习和提高。同时,学习笔记也可以作为自己学习和成长的见证,激励自己坚持学习和进步。 总之,算法个人学习笔记PDF是一份记录、回顾、思考和分享的文档,对于个人算法学习具有重要的意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值