随笔分类 -  数据结构

摘要:图的概述 什么是图 如图就是一张图,其实之前介绍的树、链表都可以看做一个简单的图。 图描述的是一种多对多的关系,由**顶点(vertex)和连接顶点间的边(edge)**组成。每个顶点可以有零个或多个前驱、也可以有零个或多个后继。 注:图可以没有边,但至少有一个顶点。 因此图可以表示成G=(V,E) 阅读全文
posted @ 2020-06-24 23:02 流浪_归家 阅读(768) 评论(0) 推荐(0) 编辑
摘要:堆的概述 什么是堆 堆是一种特殊的基于树的数据结构。树是完全二叉树,实现是数组。 堆的性质 这里的堆,一般指二叉堆,符合下面两种性质的。 堆总是一颗完全二叉树。 堆总是有序的。即堆的父结点总是大于等于子结点,或者堆的父结点总是小于等于子结点。 所以堆分为两种:最大堆(或大根堆,即堆的父结点总是大于等 阅读全文
posted @ 2020-06-22 23:11 流浪_归家 阅读(385) 评论(0) 推荐(0) 编辑
摘要:基本概念 什么是哈希表 哈希表(Hash table,也称散列表),是根据关键码(key)直接访问内存存储位置的数据结构。即通过关于key的函数,从而映射到一个地址来访问数据。这样可以加快查找速度。 这个关于key的映射函数称作哈希函数(散列函数),存放数据记录的数组称为哈希表(散列表)。哈希表的以 阅读全文
posted @ 2020-06-20 22:20 流浪_归家 阅读(736) 评论(0) 推荐(0) 编辑
摘要:树的第一部分(数据结构之树(Tree)(一)_树的基础)介绍了树的各个基础:什么是树、树的特点、树的表示方法、树的种类、树在存储结构中的表示、树/森林/二叉树之间的转换(原理)等。 这部分主要介绍下二叉树的创建及遍历(一种实现,主要了解二叉树遍历的过程)。遍历是二叉树重要的运算,是其他运算的基础。树 阅读全文
posted @ 2020-06-17 23:09 流浪_归家 阅读(586) 评论(0) 推荐(0) 编辑
摘要:该篇是关于树的概述,主要介绍什么是树、树的特点、树的表示方法、树的种类、树在存储结构中的表示、树/森林/二叉树之间的转换(原理)等,关于具体树(二叉树)的实现以及查找遍历等后续总结。 树的概述及特点 树是由n个(n>=0)结点组成的一个具有层次关系的集合。 如图,是一个普通的树的图像表示: 从这个图 阅读全文
posted @ 2020-06-16 21:42 流浪_归家 阅读(866) 评论(0) 推荐(0) 编辑
摘要:什么是队列(Queue) 之前总结过栈相关的知识,队列可以类比栈来看。栈只能在一端进行操作(栈顶),添加元素或者删除等都只能在栈顶;而队列有两端可以操作,在一端添加元素,在另一端删除元素。 我们把添加元素的一端称为队尾;删除元素的一端称为队首。 比如生活中的排队:城市中基本哪里都有,这就是一个队列。 阅读全文
posted @ 2020-06-13 21:29 流浪_归家 阅读(1484) 评论(0) 推荐(0) 编辑
摘要:什么是栈(Stack) 栈是一种遵循特定操作顺序的线性数据结构,遵循的顺序是先进后出(FILO:First In Last Out)或者后进先出(LIFO:Last In First Out)。 比如: 生活中,厨房里的一摞盘子,你使用的时候会拿最上面的一个,最下面的那个最后使用。这就是FILO。当 阅读全文
posted @ 2020-06-09 23:59 流浪_归家 阅读(1384) 评论(0) 推荐(0) 编辑
摘要:说明:如果仔细阅读完全文后,可能感觉有些不统一,这里先说明下原因。 链表尾引用不统一:在介绍单链表时,只有一个链表首部的引用(head) 指向第一个节点。你看到后面关于双链表及循环列表时,除了指向第一个节点的引用 还有指向最后一个节点(尾部)的引用。 这样做主要是,链表设计可能包含尾部的引用,也可能 阅读全文
posted @ 2020-06-07 16:04 流浪_归家 阅读(1844) 评论(0) 推荐(0) 编辑
摘要:数组(Array)是由相同类型的元素(element)集合组成的固定长度(Size)的一种数据结构。在内存中是连续存储的,因此可以通过索引(Index)计算出某个元素的地址。 下面介绍都是已java为示例。对于没有详细了解过的 相信有所收获。 基础知识 声明 type arrayName[] 或者 阅读全文
posted @ 2020-06-02 22:48 流浪_归家 阅读(4972) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示