摘要: 对于邻接表,G[N]为 指针数组 ,对应矩阵 每行一个链表 ,只存非0元素 指针数组里的每一个指针都是一个 单链表的头指针 ,单链表里每个 节点 里存储的是图中 每条边 的信息。 邻接表包括一个 顶点表 和一个 边表 。顶点表包括顶点和指向下一个邻接点的指针, 边表存储的是邻接点点序号和指向下一个的 阅读全文
posted @ 2018-03-11 11:03 Wakingup 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 图常用两种方式表示,邻接矩阵、邻接表。 0、结构初始化 1、图的初始化 2、向图中插入边 3、完整建立一个Graph 1 4、完整建立一个Graph 2(简化版本) c int G[maxNum][maxNum],Nv,Ne; void buildGraph() { int v1,v2,weight 阅读全文
posted @ 2018-03-11 10:59 Wakingup 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 二叉搜索树(题型总结) 以下是比较常见的题型,加粗的便是比较常考的了 BST基本操作 验证BST "098 Validate Binary Search Tree" 将排序数组转化为BST "108 Convert Sorted Array to Binary Search Tree" 将排序链表转 阅读全文
posted @ 2018-03-11 10:51 Wakingup 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 0、定义及性质 二叉搜索树(BST binary search tree):又叫二叉排序树或者二叉查找树,其满足以下性质 非空 左子树 所有值 小于 根节点值 非空 右子树 所有值 大于 根节点值 左、右子树都是二叉搜索树 由上可以推出: BST 最小值 一定在最 左 端端点上, 最大值 一定在最 阅读全文
posted @ 2018-03-11 10:50 Wakingup 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 以下是比较常见的题型 1、二叉树的深度/宽度 二叉树的最大深度 "104 Maximum Depth of Binary Tree" 二叉树的最小深度 "111 Minimum Depth of Binary Tree" 二叉树的最大宽度 "662 Maximum Width of Binary T 阅读全文
posted @ 2018-03-11 10:45 Wakingup 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 树及相关性质 阅读全文
posted @ 2018-03-11 10:44 Wakingup 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 二叉树的性质及存储如下 阅读全文
posted @ 2018-03-11 10:44 Wakingup 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 一般常见于二叉树的层序遍历 "Binary Tree Level Order Traversal" "Binary Tree Level Order Traversal II" "Binary Tree Zigzag Level Order Traversal" 阅读全文
posted @ 2018-03-11 10:42 Wakingup 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 队列的链式存储结构不常用 同理,实际上也可以用一个 单链表 实现 插入、删除分别在链表 两头 进行,即 插入在表尾(rear),删除在表头(front) 图解如下: 0、结构初始化 1、建立空队列 createQueue 2、入队操作addQueue //插入在表尾 3、出队操作deleteQueu 阅读全文
posted @ 2018-03-11 10:41 Wakingup 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 队列 :具有一定操作约束的线性表,只能在一端作插入、删除,与堆栈类似 具有 先入先出 的特性(First In First Out) 同理,分 顺序存储 结构、 链式存储 结构两种形式 队列(顺序存储结构) 通常由一个 一维数组 和一个 队列头元素变量front 和一个 队列尾元素变量rear 组成 阅读全文
posted @ 2018-03-11 10:40 Wakingup 阅读(773) 评论(0) 推荐(0) 编辑
摘要: 1、用栈处理符号/值/表达式 有效括号序列 "020 Valid Parentheses" 简化路径 "071 Simplify Path" 逆波兰表达式 "150 Evaluate Reverse Polish Notation" 用栈模拟汉诺塔 "227 Mock Hanoi Tower by 阅读全文
posted @ 2018-03-11 10:39 Wakingup 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 堆栈 :具有一定操作约束的线性表,只能在一端作插入、删除 具有 后入先出 的特性(Last In First Out) 分 顺序存储 结构、 链式存储 结构两种形式 堆栈的顺序存储结构 通常由一个 一维数组 和一个 栈顶元素变量 组成 图解如下: 形式一:构建结构体 0、结构初始化 1、建立空栈 2 阅读全文
posted @ 2018-03-11 10:38 Wakingup 阅读(714) 评论(0) 推荐(0) 编辑
摘要: 堆栈 :具有一定操作约束的线性表,只能在一端作插入、删除 具有 后入先出 的特性(Last In First Out) 分 顺序存储 结构、 链式存储 结构两种形式 堆栈的顺序存储结构 通常由一个 一维数组 和一个 栈顶元素变量 组成 图解如下: 形式一:构建结构体 0、结构初始化 1、建立空栈 2 阅读全文
posted @ 2018-03-11 10:37 Wakingup 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 链表归纳 一、题型 1、链表反转/翻转 "206 Reverse Linked List" "092 Reverse Linked List II" "061 Rotate List" 2、链表划分/重排 "086 Partition List" "143 Reorder List" 3、链表合并 阅读全文
posted @ 2018-03-11 10:36 Wakingup 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 链表相对于顺序表,不需要移动数据元素,只需要修改“链”,所以在某些场合要显得更灵活 0、结构初始化 图解如下: 1、建立(空链表) 2、求表长 3、查找 4、插入(在第i 1节点后面插入) 图解如下: 5、删除(删除链表第i个节点) 图解如下: 阅读全文
posted @ 2018-03-11 10:34 Wakingup 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 线性表 :由 同类 数据元素构成的 有序 序列的 线性 结构 实现方式分两种: 顺序存储实现 (ArrayList)和 链式存储实现 (LinkList) 顺序表 0、结构初始化 顺序表结构如图: 1、建立(空顺序表) 2、查找 3、插入 图解如下: 4、删除 图解如下: 阅读全文
posted @ 2018-03-11 10:33 Wakingup 阅读(138) 评论(0) 推荐(0) 编辑