【大总结1】数据结构与传统算法总结

由于时间和水平有限,肯定有错误或者写得不好的地方

欢迎在文章下评论指出。

 

涉及语言:

py3:注重算法本身的知识

c/c++:实现基础数据结构和算法

java:实现较复杂数据结构

 

 


一、概述


                         c语言知识体系

                        算法体系参考


                        课上笔记1(复习c、课程概述)

                        课上笔记2(基本概念、时空复杂度)

                        时空复杂度

                        浅析P/NP/NPC

                        引入:算法优化


提高篇

                        基础动态规划

                        摔手机:借一道水题打开思路


二、线性表

        笔记:

                        课上笔记3(线性表及顺序表示)

                        课上笔记5(链表概述)

                        课上笔记6(链表选讲、静态链表)

                        作业1讲解(最大子数组二维多维)

        基础代码实现:

                        顺序存储实现(静/动)

                        单链表不带头(标准实现)

                        单链表不带头(压缩代码)

                        双链表带头

        应用:

                        约瑟夫环(顺序、链式、数学)

                        线性表表示集合

                        线性表表示一元多项式

                        链表环相关问题

                        链表coding能力练习:归并排序

                        LRU介绍和实现


 提高篇

                      链表coding能力练习:相交问题


三、栈和队列

        笔记:

                        课上笔记7(栈、队列基础)

        基础代码实现:

                        数组实现栈

                        链表实现栈

                        数组实现队列(易懂实现循环)

                        链表实现队列

                        双栈

                        栈和队列的互相模拟

        应用:

                        栈排序

                        括号匹配

                        表达式求值

                        简单迷宫问题

                        借汉诺塔理解栈与递归

                        手动维护栈实现二叉树三种遍历

                         深搜、广搜与栈、队列

        相关算法:

                        单调栈

                        单调双端队列


提高篇

                        双端队列优化的背包问题


四、串

        笔记:

                        课上笔记8(串基础)

        基础代码实现:

                        串的定长表示

                        串的堆分配

                        为何py整数不会溢出

                        c语言文件操作

        相关算法:

                        一文读懂KMP

                        一文读懂Manacher

                        KMP题集1

                        KMP题集2

                        KMP+DP入门

                        字符串上的动态规划

                        前缀树

                        后缀树/后缀数组概述

                        AC自动机


五、数组和广义表

注:题目慢慢添加

        笔记:

                        课上笔记9(数组、广义表)

        部分题目实现:

                        二维数组基操四连

                        数组基本操作三连(1)

                        数组基本操作三连(2)

                        数组基本操作三连(3)

                        数组基本操作三连(4)

                        数组精选操作(5)

                        数组精选操作(6)

        应用:

                        2048小游戏实现

                        吃豆人

                        贪吃蛇


六、树

        笔记:

                        课上笔记10(树和二叉树概述)

                        二叉树概述

                        课上笔记11(满二叉树、完全二叉树)

                        课上笔记12(二叉树存储与遍历)

                        课上笔记13(树的存储)

        基础代码实现:

                        理解二叉树遍历

                        二叉树序列化/反序列化

                        先序中序后序两两结合重建二叉树

                        先序中序数组推后序数组

                        直观打印二叉树

                        根据数组建立平衡二叉搜索树

                        平衡二叉树的判断

                        完全二叉树的判断

                        搜索二叉树的判断

                        二叉树最长路径

                        时间低于O(N)求完全二叉树结点个数

        应用:

                        二叉搜索树

                        

                        堆应用例题三连

                        并查集

                        并查集入门题集

                        线段树

                        树状数组

        相关算法:

                        最大搜索子树

                        morris遍历 空间O(1)


七、图

        笔记:

                        课上笔记14(图基础)

                        课上笔记15(存储、遍历)

        基础:

                        最小生成树

                        拓扑排序

                        最短路

        相关算法:

                        迷宫

                        棋盘简单深搜广搜

                        皇后问题(位运算)

                        旅行商问题(认识状态压缩)


八、动态存储


九、查找

        基础代码实现:

                        二分及拓展

                        二叉搜索树实现

                        数组建立二叉搜索树

                        自平衡二叉搜索树

                        AVL Tree

        相关算法:

                        HashMap记录的动态规划

                        跳表介绍和实现


十、排序

        基础代码实现:

                        八种排序

        相关算法:

                        快排-荷兰国旗

                        快排-前m大元素

                        归并-求逆序数

                        桶思想-相邻数最大差值

                        

                        堆应用例题三连

                        BFPRT

 

©️2020 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值