学习王争的《数据结构与算法之美》时需要实现的一些内容,结合要求的内容以及自己加的内容。
## 数组
- [x] 自己实现容器的操作:动态扩容、增删改查等操作
- [x] 实现两个有序数组合并为一个有序数组
- [ ] 进阶版删除可以实现一下;
## 链表(链表的操作还是需要多写写的)
- [x] 实现单链表、循环链表、双向链表,支持增删操作
- [ ] 实现单链表反转、链表合并
- [ ] 实现两个有序的链表合并为一个有序链表
- [ ] 实现求链表的中间结点
- [ ] LRU 算法基于链表实现,基于数组实现。
- [ ] 字符串通过单链表来存储,如何判断是不是一个回文串呢。
- [ ] 练习题LeetCode对应编号:206,141,21,19,876。大家可以去练习。
## 栈
- [x] 栈的实现,基于数组,动态扩容
- [ ] 用链表实现一个链式栈
- [ ] 编程模拟实现一个浏览器的前进、后退功能
- [ ] 表达式求和
- [ ] 括号匹配问题
- [ ] LeetCode 上关于栈的题目:20、155、232、844、224、682、496
## 队列
- [x] 用数组实现一个顺序队列,加上搬移和扩容;
- [ ] 用链表实现一个链式队列
- [x] 实现一个循环队列,加上扩容;
- [ ] 阻塞队列和并发队列实现
- [ ] LeetCode 622
## 递归
- [x] 编程实现斐波那契数列求值f(n)=f(n-1)+f(n-2)(加上存储已经计算过的元素);
- [x] 编程实现求阶乘n!
- [x] 编程实现一组数据集合的全排列
- [ ] 走台阶问题;
## 排序
- [x] 实现归并排序、快速排序、插入排序、冒泡排序、选择排序
- [ ] 编程实现O(n)时间复杂度内找到一组数据的第K大元素
## 二分查找
- [x] 实现一个有序数组的二分查找算法
- [x] 实现模糊二分查找算法(比如大于等于给定值的第一个元素)
## 散列表(LRU 需要再写一次)
- [x] 实现一个基于链表法解决冲突问题的散列表
- [x] 实现一个LRU缓存淘汰算法
## 字符串
- [ ] 实现一个字符集,只包含a~z这26个英文字母的Trie树
- [ ] 实现朴素的字符串匹配算法
## 二叉树
- [x] 实现一个二叉查找树,并且支持插入、删除、查找、找最大值、找最小值等操作
- [x] 实现一个可含重复数据的二叉查找树,并且支持插入、删除、查找等操作
- [ ] 实现查找二叉查找树中某个节点的后继、前驱节点
- [x] 实现二叉树前、中、后序以及按层遍历
## 堆
- [ ] 实现一个小顶堆、大顶堆、优先级队列
- [x] 实现堆排序
- [ ] 利用优先级队列合并K个有序数组
- [ ] 求一组动态数据集合的最大Top K
## 图
- [ ] 实现有向图、无向图、有权图、无权图的邻接矩阵和邻接表表示方法
- [x] 实现图的深度优先搜索、广度优先搜索
- [ ] 实现Dijkstra算法、A*算法
- [ ] 实现拓扑排序的Kahn算法、DFS算法
## 回溯
- [ ] 利用回溯算法求解八皇后问题
- [ ] 利用回溯算法求解0-1背包问题
## 分治
- [ ] 利用分治算法求一组数据的逆序对个数
## 动态规划
- [ ] 0-1背包问题
- [ ] 最小路径和
- [ ] 编程实现莱文斯坦最短编辑距离
- [ ] 编程实现查找两个字符串的最长公共子序列
- [ ] 编程实现一个数据序列的最长递增子序列
没有合适的资源?快使用搜索试试~ 我知道了~
数据结构和算法基础的实现+笔记+LeetCode 刷题记录 + 一些书籍整理。.zip
共520个文件
java:329个
go:165个
md:20个
需积分: 5 0 下载量 61 浏览量
2024-01-14
12:43:14
上传
评论
收藏 44.31MB ZIP 举报
温馨提示
数据结构和算法基础的实现+笔记+LeetCode 刷题记录 + 一些书籍整理。
资源推荐
资源详情
资源评论
收起资源包目录
数据结构和算法基础的实现+笔记+LeetCode 刷题记录 + 一些书籍整理。.zip (520个子文件)
.DS_Store 6KB
.DS_Store 6KB
Bisection.go 3KB
581-FindUnsortedSubarray.go 3KB
145-PostorderTraversal.go 2KB
95-GenerateTrees.go 2KB
39-CombinationSum.go 2KB
94-InorderTraversal.go 1KB
114-Flatten.go 1KB
144-PreorderTraversal.go 1KB
18-FourSum.go 1KB
offer32_103-LevelOrder.go 1KB
offer32_107-LevelOrder.go 1KB
offer52_160-GetIntersectionNode.go 1KB
offer7_105-BuildTree.go 1KB
199-RightSideView.go 1KB
92-ReverseBetween.go 1KB
79-Exist.go 1KB
offer68_235-LowestCommonAncestor.go 1KB
23-MergeKLists.go 1KB
15-ThreeSum.go 1KB
offer55_110-IsBalanced.go 1KB
109-SortedListToBST.go 1KB
25-ReverseKGroup.go 1KB
40-CombinationSum2.go 1001B
offer32-LevelOrder.go 990B
offer29-SpiraOrder.go 971B
560-SubarraySum.go 965B
189-Rotate.go 952B
234-IsPalindrome.go 844B
48-Rotate.go 811B
2-AddTwoNumbers.go 811B
16-ThreeSumClosest.go 807B
offer34_113-PathSum.go 807B
143-ReorderList.go 791B
474-FindMaxForm.go 775B
179-LargestNumber.go 772B
offer66-ConstructArr.go 770B
337-Rob.go 764B
654-ConstructMaximumBinaryTree.go 753B
24-SwapPairs.go 743B
455-FindContentChildren.go 740B
75-SortColors.go 725B
90-SubsetsWithDup.go 715B
543-DiameterOfBinaryTree.go 715B
offer53-Search.go 714B
221-MaximalSquare.go 712B
98-IsValidBST.go 697B
69-MySqrt.go 693B
56-Merge.go 689B
2-AddTwoNumbers.go 684B
213-Rob.go 665B
offer45-MinNumber.go 661B
offer26-IsSubStructrue.go 653B
86-Partition.go 645B
offer28_101-IsSymmetric.go 644B
108-SortedArrayToBST.go 642B
offer40-GetLeastNumbers.go 641B
617-MergeTrees.go 630B
46-Permute.go 621B
718-FindLength.go 609B
5-LongestPalindrome.go 608B
328-OddEvenList.go 602B
142-DetectCycle.go 593B
64-MinPathSum.go 591B
offer47-MaxValue.go 589B
61-RotateRight.go 588B
offer36-TreeToDoublyList.go 587B
378-KthSmallest.go 570B
236-LowestCommonAncestor.go 566B
offer21-Solution.go 565B
202-IsHappy.go 563B
offer25_21-MergeTwoLists.go 559B
494-FindTargetSumWays.go 545B
494-FindTargetSumWays.go 545B
647-CountSubstrings.go 533B
offer54-KthLargest.go 530B
230-KthSmallest.go 530B
215-FindKthLargest.go 529B
152-MaxProduct.go 529B
22-GenerateParenthesis.go 526B
78-Subsets.go 521B
538_1038-ConvertBST.go 521B
19-RemoveNthFromEnd.go 518B
122-MaxProfit.go 503B
offer33-VerifyPostorder.go 494B
offer63_121-MaxProfit.go 492B
454-FourSumCount.go 491B
313-NthSuperUglyNumber.go 478B
33-Search.go 476B
416-CanPartition.go 472B
50-MyPow.go 470B
offer22-GetKthFromEnd.go 469B
91-NumDecodings.go 464B
offer57-TwoSum.go 459B
offer57-FindContinuousSequence.go 451B
200-NumIslands.go 450B
offfer11-MinArray.go 449B
141-HasCycle.go 445B
322-CoinChange.go 433B
共 520 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
极致人生-010
- 粉丝: 2904
- 资源: 2822
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功