前言
知识的广度来自知识的深度,学习如果不成体系那是多可怕的一件事儿,希望我们在未来的学习道路上坚守初心,不要给自己留下遗憾,以自己喜欢的方式生活,做自己喜欢做的事,做一个独一无二的自己!
1.说一下什么是二分法?使用二分法时需要注意什么?如何用代码实现?
2.什么是斐波那契数列?用代码如何实现?
3.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
4.什么是冒泡排序?用代码如何实现?
5.什么是选择排序?用代码如何实现?
6.什么是插入排序?用代码如何实现?
7.什么是快速排序?用代码如何实现?
8.什么是堆排序?用代码如何实现?
9.字符串循环左移
字符串
1.字符串的全排列
2.KMP算法
3.DFA和NFA
4.KMP应用:PowerString问题
5.求字符串的最长回文子串
6.Manacher算法和BM算法
数组
1.寻找和为定值的两个数
3.Hash函数
4.分支限界法
5.荷兰国旗问题:现有红、白、蓝三个不同颜色的小球,乱序排列在一起,请重新排列这些小球,使得红白蓝三色的同颜色的球在一起。这个问题之所以叫荷兰国旗,是因为我们可以将红白蓝三色小球想象成条状物,有序排列后正好组成荷兰国旗。

6.完美洗牌算法
树
1.二叉查找树
2.二叉树的遍历
3.平衡

本文列举了70道涵盖字符串、数组、树、链表、图论、数据结构等领域的算法题,旨在帮助程序员提升技能,包括二分法、斐波那契数列、各种排序算法、链表操作、图论问题等,并提供了部分问题的代码实现。
最低0.47元/天 解锁文章
586





