摘要: 之前介绍了树,主要实现了二叉树的代码。在二叉树的基础上有许多衍生的树,如二叉搜索树、哈夫曼树等,今天学习一下二叉搜索树。 二叉搜索树 二叉搜索树是二叉树的一种,是应用非常广泛的一种二叉树,英文简称为 BST 又被称为:二叉查找树、二叉排序树 特点 任意一个节点的值都大于其左子树所有节点的值 任意 阅读全文
posted @ 2024-04-11 11:47 cgl_dong 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Hash表 Hash也叫散列、哈希,是一种根据key-value对进行存储的数据结构。每个value对应一个key,这样查找的时候就无需遍历。 Hash表使用数组作为底层结构,数组中每个区域都存储着Hash,这就是Hash表。 列表、数组、树这些数据结构在查询数据时的时间复杂度通常为O(n),而Ha 阅读全文
posted @ 2024-04-11 11:46 cgl_dong 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 图是比树更复杂的结构,树是一对多的关系,图是多对多的关系。 一、基本概念 1、定义:图(graph)是由一些点(vertex)和这些点之间的连线(edge)所组成的;其中,点通常被成为"顶点(vertex)",而点与点之间的连线则被成为"边或弧"(edege)。通常记为,G=(V,E)。 2、根据边 阅读全文
posted @ 2024-04-11 11:45 cgl_dong 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 之前的都是线性结构,而树结构在计算机应用中的应用更加广泛。linux中的目录结构,某些数据库的底层存储等,都是采用树结构进行构架的。 树的概念 线性表是一对一的关系,而树是一对多的关系。 树的结点:包含一个数据元素及若干指向子树的分支; 孩子结点:结点的子树的根称为该结点的孩子; 双亲结点:B 结点 阅读全文
posted @ 2024-04-11 11:44 cgl_dong 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 队列(Queue):在逻辑上是一种线性存储结构。它有以下几个特点: 1、队列中数据是按照"先进先出(FIFO, First-In-First-Out)"方式进出队列的。 2、 队列只允许在"队首"进行删除操作,而在"队尾"进行插入操作。 队列通常包括的两种操作:入队列 和 出队列。 队列的种类也很多 阅读全文
posted @ 2024-04-11 11:43 cgl_dong 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 栈(stack): 在逻辑上是一种线性存储结构,它有以下几个特点: 1、栈中数据是按照"后进先出(LIFO, Last In First Out)"方式进出栈的。 2、向栈中添加/删除数据时,只能从栈顶进行操作。 栈通常包括的三种操作:push、peek、pop。 push -- 向栈中添加元素。 阅读全文
posted @ 2024-04-11 11:42 cgl_dong 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 顺序表是最简单的线性表,也就是数组。很多语言都把把它当做内置的基本数据类型,这里的数组没有对应数据结构的操作。 数组是顺序存储的结构,连续分配一段内存用于存储数据。在逻辑结构和物理结构上都是连续的。 顺序表建立 在java内置的数组上建立顺序表。 public class Array{ privat 阅读全文
posted @ 2024-04-11 11:41 cgl_dong 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。 使用链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销 阅读全文
posted @ 2024-04-11 11:40 cgl_dong 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 图是比树更复杂的结构,树是一对多的关系,图是多对多的关系。 一、基本概念 1、定义:图(graph)是由一些点(vertex)和这些点之间的连线(edge)所组成的;其中,点通常被成为"顶点(vertex)",而点与点之间的连线则被成为"边或弧"(edege)。通常记为,G=(V,E)。 2、根据边 阅读全文
posted @ 2024-04-11 11:37 cgl_dong 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 之前的都是线性结构,而树结构在计算机应用中的应用更加广泛。linux中的目录结构,某些数据库的底层存储等,都是采用树结构进行构架的。 树的概念 线性表是一对一的关系,而树是一对多的关系。 树的结点:包含一个数据元素及若干指向子树的分支; 孩子结点:结点的子树的根称为该结点的孩子; 双亲结点:B 结点 阅读全文
posted @ 2024-04-11 11:36 cgl_dong 阅读(5) 评论(0) 推荐(0) 编辑