--------------------------
数据结构
--------------------
数据结构分 线性数据结构给非线性数据结构

数据和结合
线性表(顺序存储方式)特点:有且仅有一个开始结点和一个终结结点,
内部任意结点均只有一个前驱结点和一个后继结点,且具备增删改查的功能
线性表的顺数存储 :数组
线性表链式存储:单链表

堆栈 数据 遵循后进先出 LIFO 规则
入口 称为 栈顶(栈顶元素) 底部称为 栈底(栈底元素)
把数据添加到堆栈中 叫做进栈操作
从栈中吧数据取出来称为退栈/出栈操作
队列
先进先出 FIFO 运算规则

顺序队列和链式队列

顺序队列 队列的顺序存储结构 front => 队头 rear =》 队尾
链式队列 是由一个一个节点连接的 指向下一个节点
单链表 先进先出
递归
是一种直接或者间接调用自身的编程思想
使用递归算法必须包含递归调用 和 递归的终止条件

树和二叉树 非线性结构
最高级的只有直接前驱界定啊 最底层只有 直接后继节点
每个树的子节点不超过2的 就叫做二叉树
转换规则 子节点转换左子树 兄弟节点转换成右子树

树、根、子树、度、叶节点、层、父、子、兄弟节点、边、路径、高
二叉树的组织方式和存储结构
顺序存储 适合于满二叉树和完全二叉树
链式存储 单链表 用指针链接 左孩子域 数据域 右孩子域

每个节点的度数不超过2的有序树
遍历二叉树
首先访问根节点 、 先序遍历左子树 、 先序遍历右子树
先序遍历、中序遍历、后续遍历


用图的思想来设计地图是最好的选择

无向图 习惯吧图的点成为顶点 顶点间的连线称为边
有向图 是指图中的边有方向 相比于无向图 有向图是 有方向的边
带权图 图中的边有一定的意义 图中的边带数子 边带意义

图的存储结构
领接矩阵
用来描述图中相邻顶点之间的关系 领接矩阵 = 数组表示法
领接表
十字链表
领接多重表

GJM : 数据结构学习笔记的更多相关文章

  1. ES6中Map数据结构学习笔记

    很多东西就是要细细的品读然后做点读书笔记,心理才会踏实- Javascript对象本质上就是键值对的集合(Hash结构),但是键只能是字符串,这有一定的限制. 1234 var d = {}var e ...

  2. 十五分钟介绍 Redis数据结构--学习笔记

    下面是一个对Redis官方文档<A fifteen minute introduction to Redis data types>一文的翻译,如其题目所言,此文目的在于让一个初学者能通过 ...

  3. 数据结构学习笔记——顺序数组1

    线性表最简单的刚开始就是顺序存储结构,我是看着郝斌的视频一点一点来的,严蔚敏的书只有算法,没有具体实现,此笔记是具体的实现 为什么数据结构有ADT呢,就是为了满足数据结构的泛性,可以在多种数据类型使用 ...

  4. 数据结构学习笔记05图 (邻接矩阵 邻接表-->BFS DFS、最短路径)

    数据结构之图 图(Graph) 包含 一组顶点:通常用V (Vertex) 表示顶点集合 一组边:通常用E (Edge) 表示边的集合 边是顶点对:(v, w) ∈E ,其中v, w ∈ V 有向边& ...

  5. 数据结构学习笔记——stack实现(数组篇)

    一 栈:是一种表,限制插入和删除只能在一个位置,也即是表的末端(也是栈的顶)进行. 基本操作:push 和 pop. 二 栈的数组实现: 运用数组来存储元素,和栈操作先关的是theArray(一个数组 ...

  6. 【Java数据结构学习笔记之二】Java数据结构与算法之栈(Stack)实现

      本篇是java数据结构与算法的第2篇,从本篇开始我们将来了解栈的设计与实现,以下是本篇的相关知识点: 栈的抽象数据类型 顺序栈的设计与实现 链式栈的设计与实现 栈的应用 栈的抽象数据类型   栈是 ...

  7. 【Java数据结构学习笔记之二】Java数据结构与算法之队列(Queue)实现

      本篇是数据结构与算法的第三篇,本篇我们将来了解一下知识点: 队列的抽象数据类型 顺序队列的设计与实现 链式队列的设计与实现 队列应用的简单举例 优先队列的设置与实现双链表实现 队列的抽象数据类型 ...

  8. 【Java数据结构学习笔记之一】线性表的存储结构及其代码实现

    应用程序后在那个的数据大致有四种基本的逻辑结构: 集合:数据元素之间只有"同属于一个集合"的关系 线性结构:数据元素之间存在一个对一个的关系 树形结构:数据元素之间存在一个对多个关 ...

  9. ES6-Set和Map数据结构学习笔记

    Set和Map数据结构 Set 基本用法 ES6提供了新的数据结构--Set,类似于数组,但是成员的值是唯一的,没有重复的值,Set本身是一种构造函数,用来生成Set数据结构 var s = new ...

随机推荐

  1. 程序员的又一春,微信小程序带来的一个赚钱机遇

    微信小程序可能是原生的机遇,在程序员面对微信小程序的恐惧中说其实也是我们程序员创业的春天或者挣外快的一个机遇. 为什么这么说呢?且听我慢慢给你分析 成本角度 你想想,会ios开发的可能只会ios,会安 ...

  2. 自定义 checkbox 新玩法 ?

    自定义 checkbox 新玩法 ? 第一步:selector 编写 drawable/selector_checkbox_voice.xml <?xml version="1.0&q ...

  3. Attribute富文本使用方法

    ★★★Attribut富文本★★★ 在UITextView和UILable的使用中很多的时候会用到富文本. UITextView和UILable的区别在于: ★★★★UITextView 当文字大于一 ...

  4. selenium的安装

    一.安装selenium 通过pip命令安装selenium包:(pip的安装方法:http://www.cnblogs.com/zhengyihan1216/articles/6011640.htm ...

  5. 探讨Js的事件的冒泡阶段

    近来看到了一个新的知识点叫Js的事件冒泡,因此决定自己来研究一番. 大家应该都知道,Js中的事件处理分为三个阶段,1:事件的捕获阶段,2:处于目标阶段,3:事件的冒泡阶段.那么什么是事件的捕获和冒泡呢 ...

  6. Python框架之Tornado(四)源码之褪去模板外衣的前戏

    执行字符串表示的函数,并为该函数提供全局变量 本篇的内容从题目中就可以看出来,就是为之后剖析tornado模板做准备,也是由于该知识点使用的巧妙,所有就单独用一篇来介绍了.废话不多说,直接上代码: # ...

  7. SQL Server游标

    什么是游标 结果集,结果集就是select查询之后返回的所有行数据的集合. 游标则是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据 ...

  8. VB.NET 如何进行调用HTTP外部接口

    直接上干货  Private Function POST(ByVal URL$, ByVal data$) Dim http On Error Resume Next http = CreateObj ...

  9. Iterate Files by Tcltk

    Iterate Files by Tcltk eryar@163.com Abstract. Tcl/Tk provide a programming system for developing an ...

  10. SQL 数据库管理---公司培训

    一.实例 一个SQL的服务引擎就是一个SQL实例,每装一次SQL就会产生一次实例. 实例分为命名实例和默认实例,一台Windows服务器可以有多个SQL实例,但是只能有一个默认实例. 不同的实例之间相 ...