数据结构与传统算法总结

版权声明:由于水平和精力有限,必然有错误,发现请及时指出,谢谢。转载要注明出处 https://blog.csdn.net/hebtu666/article/details/83011422

快期末了,整理一下笔记,因为是总结嘛,比较杂的知识都没有放,都是和数据结构和传统算法相关的比较重要的知识。

这学期状态一直不太好,数组和图都没有好好搞,这个寒假会完善一下的。

由于时间和水平有限,肯定有错误或者写得不好的地方,欢迎在文章下评论指出。

涉及语言:

py3:注重算法本身的知识

c:实现基础数据结构

java:实现较复杂数据结构

c++:竞赛相关(本人菜鸡)


一、概述


                         c语言知识体系

                        算法体系参考


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

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

                        时空复杂度

                        浅析P/NP/NPC

                        引入:算法优化


                        基础动态规划

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


二、线性表

        笔记:

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

                        课上笔记5(链表概述)

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

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

        基础代码实现:

                        顺序存储实现(静/动)

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

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

                        双链表带头

        应用:

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

                        线性表表示集合

                        线性表表示一元多项式

                        链表环相关问题

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


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


三、栈和队列

        笔记:

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

        基础代码实现:

                        数组实现栈

                        链表实现栈

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

                        链表实现队列

                        双栈

                        栈和队列的互相模拟

        应用:

                        栈排序

                        括号匹配

                        表达式求值

                        借汉诺塔理解栈与递归

                        简单迷宫问题

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

                         深搜、广搜与栈、队列

        相关算法:

                        单调栈

                        单调双端队列


                        双端队列优化的背包问题


四、串

        笔记:

                        课上笔记8(串基础)

        基础代码实现:

                        串的定长表示

                        串的堆分配

                        字符串/整数

        相关算法:

                        一文读懂KMP

                        一文读懂Manacher

                        KMP题集1

                        KMP题集2

                        KMP+DP入门

                        字符串上的动态规划

                        前缀树

                        后缀树/后缀数组概述

                        AC自动机


五、数组和广义表

        笔记:

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

        基础代码实现:

                        二维数组基操四连

        应用:

                        2048小游戏实现


六、树

        笔记:

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

                        二叉树概述

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

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

                        课上笔记13(树的存储)

        基础代码实现:

                        理解二叉树遍历

                        二叉树序列化/反序列化

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

                        先序中序数组推后序数组

                        直观打印二叉树

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

                        平衡二叉树的判断

                        完全二叉树的判断

                        搜索二叉树的判断

                        二叉树最长路径

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

        应用:

                        二叉搜索树

                        

                        堆应用例题三连

                        并查集

                        并查集入门题集

                        线段树

                        树状数组

        相关算法:

                        最大搜索子树

                        morris遍历 空间O(1)


七、图

        笔记:

                        课上笔记14(图基础)

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

                        图的应用

        相关算法:

                        迷宫

                        棋盘简单深搜广搜

                        皇后问题(位运算)

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


八、动态存储


九、查找

        基础代码实现:

                        二分及拓展

                        二叉搜索树实现

                        数组建立二叉搜索树

                        自平衡二叉搜索树

                        AVL Tree

        相关算法:

                        HashMap记录的动态规划


十、排序

        基础代码实现:

                        八种排序

        相关算法:

                        快排-荷兰国旗

                        快排-前m大元素

                        归并-求逆序数

                        

                        堆应用例题三连

                        BFPRT

猜你喜欢

转载自blog.csdn.net/hebtu666/article/details/83011422
今日推荐