Git Product home page Git Product logo

datastruture_algorithms's Introduction

DataStruture_Algorithms

review for some basic knowledge of data structure and algorithms


线性表

顺序表
  1. 插入,删除
  2. 查值查找,查地址查找
  3. 就地逆置
线性链表
  1. 头插入
  2. 头删除
  3. 查值查找和查地址查找(查找给定位置节点(**,1/3),递归删除单链表,合并两个单循环链表)
  4. 就地逆置
线性表的一些基础算法
  1. 线性链表——头插入头删除——链栈
  2. 单循环链表——带尾指针头删除尾插入——链队列
  3. 双向链表,双向循环链表——删除和插入操作修改指针的情况和顺序

栈和队列

基于顺序表:

  1. 栈的push和pop
  2. 队列的enter和delete(循环队列的构造使用取模运算,解决循环队列判空判满的三种方法)

单链表:头插入头删除(链栈)

带尾指针单循环链表——尾插入头删除——链队列

双端顺序栈(栈的push1和push2以及pop1和pop2)

括号匹配算法


树和二叉树

二叉树的孩子兄弟表示法

(树到二叉树的转换)

遍历

先序,中序,后序,层序

链式存储

二叉链表,三叉链表,线索链表

二叉树的遍历

递归算法

非递归算法(先序中序使用栈,层序非递归使用队列)

基于遍历的二叉树恢复

几种特殊的二叉树

线索二叉树

二叉排序树

平衡二叉树

哈弗曼树


图的定义和基本术语

有向图,无向图,子图

连通图,强连通图

出度,入度

最小生成树

最短路径,关键路径,拓扑排序

一些必须掌握的问题

顶点的度数之和和边数的关系

无向图的边数

生成树的边数

最小生成树的最小

拓扑排序的特点

关键路径的含义

图的存储

顺序存储(邻接矩阵)

链式存储(邻接表,逆邻接表,十字链表)

图的遍历

深度优先

广度优先

六大经典算法
  1. 最小生成树——Prim算法

  2. 最小生成树——Kruskal算法

  3. 关键路径求解算法——标号法AOV

  4. 拓扑排序算法——有向图环的检查

  5. 最短路径算法——单源Dijkstra算法

  6. 最短路径算法——全局Floyd算法


查找

静态查找

动态查找

查找方法:

  1. 顺序查找
  2. 折半查找
  3. 索引查找
  4. 散列表(哈希)(解决冲突的几种方法)

排序

  1. 插入排序
  2. 简单选择排序
  3. 希尔排序
  4. 快速排序
  5. 堆排序
  6. 归并排序
  7. 排序算法的稳定性,时空复杂度等

datastruture_algorithms's People

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.