zoukankan      html  css  js  c++  java
  • 数据结构+算法 学习计划与资源

    学了很多杂乱的技术,继续成长 渐感吃力,重新学习数据结构 与 算法.

    计划:

    1.严蔚敏《数据结构》《大话数据结构》,每天一个小例子。

    2.采用C++ 或者C 。尽量用C++实现,以辅助理解面向对象编程思想。

    3.与同学每天练习、讨论一个数据结构问题。编写、并分析一段代码。

    4.最最重要的是坚持下来。

    5.将代码和领悟写在博客上。

    ---------

    1、每天一个小例子,具体的我们提前一天确定好;

    2、我们各自实现代码,然后交互看一下(确保代码可读性及本互学习),必要时讨论;

    3、每完成一块知识,对比总结一下。

    ---------

    注意:树、图、排序 是 以前学习的时候遗留的难点。在这个时候不能放弃。最重要的是坚持。

    学习曲线:

    1.链表

    线性表的顺序存储结构

    线性表的链式存储结构

    单链表结构与顺序存储结构优缺点

    静态链表

    循环链表

    双向链表

    2.栈

    两栈共享空间

    栈的链式存储结构及实现

    栈的应用——递归 --斐波那契数列实现.----- 递归定义....

    栈的应用——四则运算表达式求值,后缀,后缀转换为 中缀

    3.队列

    循环队列

    4.串

    朴素的模式匹配算法

    KMP模式匹配算法

    5.遍历二叉树

    前序遍历 中序遍历  后续遍历

    线索二叉树

    树、森林与二叉树的转换

    二叉树转换为树.

    赫夫曼树----

    赫夫曼编码.  

    6. 图

    邻接矩阵、邻接表、邻接多重表、十字链表、

    深度优先搜索、广度优先搜索

    最小生成树:  普里姆(Prim)算法.. 克鲁斯卡尔(Kruskal)算法.......

    最短路径 : 迪杰斯特拉(Dijkstra)算法.--- 弗洛伊德(Floyd)算法

    拓扑排序

    最短路径算法

    7.查找

    顺序查找

    二分

    线性索引:稠密索引.. 分块索引.....倒排索引....

    平衡二叉树

    二叉排序树

    多路查找(B树)

    散列查找

    散列函数构造:5种方式

    散列冲突方法

    8.排序

    排序的基本概念与分类·

    冒泡排序

    简单选择

    插入

    希尔

    堆排序

    归并

    快速

    学习资源:

    1.data structure visualization:http://www.cs.usfca.edu/~galles/visualization/Algorithms.html

    2.http://www.cnblogs.com/bourbon/archive/2011/08/26/2152158.html 排序算法

    3.http://www.cnblogs.com/bourbon/archive/2011/08/23/2151044.html 动态规划

    4.参考代码:https://files.cnblogs.com/cj723/PlayWithDataStructureSourceCode.zip

    demo  list:

    ├─第3章线性表

    │      01线性表顺序存储_List.c

    │      02线性表链式存储_LinkList.c

    │      03静态链表_StaticLinkList.c

    ├─第4章栈与队列

    │      01顺序栈_Stack.c

    │      02两栈共享空间_DoubleStack.c

    │      03链栈_LinkStack.c

    │      04斐波那契函数_Fibonacci.c

    │      05顺序队列_Queue.c

    │      06链队列_LinkQueue.c

    ├─第5章串

    │      01串_String.c

    │      02模式匹配_KMP.c

    ├─第6章树

    │      01二叉树顺序结构实现_BiTreeArray.c

    │      02二叉树链式结构实现_BiTreeLink.c

    │      03线索二叉树_ThreadBinaryTree.c

    ├─第7章图

    │      01邻接矩阵创建_CreateMGraph.c

    │      02邻接表创建_CreateALGraph.c

    │      03邻接矩阵深度和广度遍历DFS_BFS.c

    │      04邻接表深度和广度遍历DFS_BFS.c

    │      05最小生成树_Prim.c

    │      06最小生成树_Kruskal.c

    │      07最短路径_Dijkstra.c

    │      08最短路径_Floyd.c

    │      09拓扑排序_TopologicalSort.c

    │      10关键路径_CriticalPath.c

    ├─第8章查找

    │      01静态查找_Search.c

    │      02二叉排序树_BinarySortTree.c

    │      03平衡二叉树_AVLTree.c

    │      04B树_BTree.c

    │      05散列表_HashTable.c

    └─第9章排序

    |

    ---- 01排序_Sort.c

    5.硬盘资源

     X:\编程基础\数据结构 

     C++数据结构4.zip  

     C++程序test_prog 

     C++程序test_prog.7z  

    大话数据结构SourceCode.zip 

     数据结构_ruby_programs.zip

     数据结构与算法ppt  

    数据结构与算法ppt.rar 

     欧阳浩   项目源文件 及 ppt  .rar

  • 相关阅读:
    Daemon Tools手工完全卸载方案
    不要轻易删除/windows/install下文件
    Dumpbin命令的使用
    v4l2 视频捕获
    2瓶4两酒,1个1.5两的酒杯
    n个平面分空间最多可分成多少份
    &#65279导致页面顶部空白一行解决方法
    Base64编码原理分析
    浏览器中“JavaScript解析器”工作原理
    IList转化为DataSet,解决了System.nullable()的问题
  • 原文地址:https://www.cnblogs.com/ToDoToTry/p/2165317.html
Copyright © 2011-2022 走看看