
0105【数据结构】
包含思路代码实现学习笔记
努力的阳光蓝孩
学习一时爽,一直学习一直爽
展开
-
二叉树遍历(先序遍历、中序遍历、后续遍历)
一、先序遍历介绍1、先序遍历也叫做先根遍历、前序遍历,可记做根左右(二叉树父结点向下先左后右)。2、首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树,如果二叉树为空则返回。3、A B D E C F4、代码class BiTree { int value; BiTree lchild; BiTree rchild; public BiTree() {} public BiTr原创 2020-08-09 13:47:36 · 750 阅读 · 0 评论 -
数据结构学习笔记、一个好的画图软件享
1、这个网址挺好玩的,喜欢研究数据结构和算法的可以研究一下。2、这个有过程化的的演示可以让你的思路很清晰,个人感觉不错。3、https://visualgo.net/zh/bst?slide=2原创 2020-05-16 10:29:24 · 944 阅读 · 0 评论 -
二叉排序树笔记二、代码实现
package com.hao.firstdemo.datastruct.binarysorttree;/** * @author haoxiansheng * @data 2020/5/10 16:20 */public class BinarySortTreeTest { public static void main(String[] args) { int[] arr = {7, 3, 10, 12, 5, 1, 9, 0}; BinarySor.原创 2020-05-11 23:05:48 · 97 阅读 · 0 评论 -
AVL树笔记二、代码实现
package com.hao.firstdemo.datastruct.avl;import lombok.Getter;/** * @author haoxiansheng * @data 2020/5/11 20:40 */public class AVLTreeTest { public static void main(String[] args) { // int[] arr = {4, 3, 6, 5, 7, 8}; // 测试左旋转 .原创 2020-05-11 23:04:00 · 128 阅读 · 0 评论 -
赫夫曼树笔记二、代码实现
package com.hao.firstdemo.datastruct.tree;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * @author haoxiansheng * @data 2020/5/10 15:20 */public class HuffmanTree { public static void main(String[] args) {.原创 2020-05-10 16:11:02 · 112 阅读 · 0 评论 -
二叉树笔记四、线索化二叉树代码实现
package com.hao.firstdemo.datastruct.threade;import lombok.Data;import lombok.Setter;/** * @author haoxiansheng * @data 2020/5/9 23:30 */public class ThreadBinaryTreeTest { public static void main(String[] args) { //测试 HeroNo.原创 2020-05-09 23:53:10 · 200 阅读 · 0 评论 -
哈希表学习笔记二 代码实现
package com.hao.firstdemo.datastruct;import java.util.Scanner;/** * @author haoxiansheng * @Data 2020/4/30 7:00 */public class HashTableTest { public static void main(String[] args) { ...原创 2020-05-03 09:17:47 · 106 阅读 · 0 评论 -
哈希表学习笔记一分析
哈希表: 数组+链表 数组+二叉树例题: 有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址), 当输入该员工的id时,要求查找到该员工的所有信息。 要求 不使用数据库,速度越快越好=>哈希表(散列)...原创 2020-05-03 09:16:53 · 160 阅读 · 0 评论 -
二叉树学习笔记三 代码实现
package com.hao.firstdemo.datastruct.tree;import lombok.Data;import lombok.Setter;/** * @author haoxiansheng * @data 2020/5/2 */public class BinaryTreeTest { public static void main(Stri...原创 2020-05-03 09:15:14 · 115 阅读 · 0 评论 -
二叉树学习笔记二 数组模拟代码实现
package com.hao.firstdemo.datastruct.tree;/** * @author haoxiansheng * @data 2020/5/2 */public class ArrayBinaryTreeTest { public static void main(String[] args) { int [] arr = {1, ...原创 2020-05-03 09:13:40 · 150 阅读 · 0 评论 -
二叉树学习笔记一 树、数组、链表比较
1) 数组存储方式的分析 优点:通过下标访问元素,速度快。对于有序数组,还可以使用二分查找提高检索速度。 缺点:如果要检索到具体某个值,或者插入值(按一定的顺序)会整体移动,效率低。 2)链式存储方式的分析 优点:在一定程度上对数组存储方式有优化(插入一个数值节点,只需将插入节点,连接到链表中即可,删除效率也可以)。 缺点:在进行检索的时候,效率比...原创 2020-05-03 09:11:56 · 781 阅读 · 0 评论 -
栈学习笔记二 代码实现
package com.hao.firstdemo.datastruct;import java.util.Scanner;/** * @author haoxiansheng * @data 2020/5/2 */public class ArrayStackTest { public static void main(String[] args) { ...原创 2020-05-03 09:09:17 · 94 阅读 · 0 评论 -
栈学习笔记一 思路分析
栈 stack 1、栈是先入后出的有序列表 2、栈是限制线性表中元素的插入和删除只能在线性表的一段进行的一种特殊线性表。 允许插入和删除的一端叫栈顶,固定的一端称为栈底。 3、出栈pop 入栈push 栈的应用场景: a:表达式的转换(中缀表达式转后缀表达是)与求值实际解决 b:二叉树遍历 c:图形的深度优先搜索算法 实...原创 2020-05-03 09:02:13 · 177 阅读 · 0 评论 -
队列三 数组模拟循环队列
package com.hao.firstdemo.datastruct;/** * @author haoxiansheng */public class TestCircleArry { public static void main(String[] args) { //测试代码自己可以实现 CircleArray circleArray ...原创 2020-05-03 08:17:27 · 169 阅读 · 0 评论 -
队列二 数组模拟队列代码实现
package com.hao.firstdemo.datastruct;/** * @author haoxiansheng */public class TestQueue { public static void main(String[] args) { ArrayQueue arrayQueue = new ArrayQueue(7); ...原创 2020-05-02 23:28:22 · 170 阅读 · 0 评论 -
队列学习笔记一思路分析
队列: 定义: 特点:先进先出 1、数组模拟队列 队列为空:front == rear (rear 下标) 队列满 rear == maxSize-1 addQueue rear+1 front 指向队列头部,指向队列头的前一个位置 初始值 front = -1 rear 指向队列尾部, 指向队列尾部数据(队列最后一个数据) 初...原创 2020-05-02 23:21:44 · 281 阅读 · 0 评论 -
链表学习笔记三双向链表代码实现
package com.hao.firstdemo.datastruct;/** * @author haoxiansheng */public class TestDoubleLinkedList { public static void main(String[] args) { //测试 你就可以在这里玩链表了 哈哈 HeroNode2 ...原创 2020-05-02 23:14:12 · 160 阅读 · 0 评论 -
链表学习笔记二单链表代码
package com.hao.firstdemo.datastruct;import java.util.Stack;/** * @author haoxiansheng */public class TestSingleLinkedList { public static void main(String[] args) { //测试 你就可以在这里玩链...原创 2020-05-02 23:11:19 · 125 阅读 · 0 评论 -
链表学习笔记一思路分析
链表小结 1、链表是以节点的方式来存储,链式存储。 2、每个节点包含data域,next域:指向下一个节点。 3、链表的各个节点不一定是连续的。 4、链表分带头节点,和不带头节点的链表。单向链表 创建思路: 添加 1、创建一个head头节点,作用就是表示单链表的头。 2、后面我们每添加一个节点,就直接加入到链表的最后。 ...原创 2020-05-02 23:08:19 · 150 阅读 · 0 评论 -
稀疏数组二代码实现
package com.hao.firstdemo.datastruct;/** * @author haoxiansheng * @data 2020/4/19 */public class TestArry { public static void main(String[] args) { /** * 创建一个元素的二维数组 11...原创 2020-05-02 23:04:34 · 231 阅读 · 0 评论 -
稀疏数组一思路详解
稀疏数组: row col val 0 行 列 值 案例:棋盘 地图 二维数组 => 稀疏数组 => 存盘(文件) => 读取 => 恢复 定义: 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法: 1)记录数组一共有几行几列,有多少个不同的值。 ...原创 2020-05-02 23:02:39 · 209 阅读 · 0 评论