![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 72
cgl_dong
!
展开
-
数据结构之二叉搜索树(java语言版)
数据结构之二叉搜索树(java语言版)之前介绍了树,主要实现了二叉树的代码。在二叉树的基础上有许多衍生的树,如二叉搜索树、哈夫曼树等,今天学习一下二叉搜索树。数据结构与算法学习目录二叉搜索树二叉搜索树是二叉树的一种,是应用非常广泛的一种二叉树,英文简称为 BST又被称为:二叉查找树、二叉排序树特点任意一个节点的值都大于其左子树所有节点的值任意一个节点的值都小于其右子树所有节点的...原创 2019-12-28 16:06:27 · 150 阅读 · 0 评论 -
数据结构之Hash(java语言版)
数据结构之Hash(java语言版)Hash表Hash也叫散列、哈希,是一种根据key-value对进行存储的数据结构。每个value对应一个key,这样查找的时候就无需遍历。Hash表使用数组作为底层结构,数组中每个区域都存储着Hash,这就是Hash表。列表、数组、树这些数据结构在查询数据时的时间复杂度通常为O(n),而Hash的时间复杂度为O(1).Hash函数:哈希表的键值之...原创 2019-12-08 20:04:23 · 206 阅读 · 0 评论 -
数据结构之图(java语言版)
数据结构之图(java语言版)图是比树更复杂的结构,树是一对多的关系,图是多对多的关系。数据结构与算法学习目录一、基本概念1、定义:图(graph)是由一些点(vertex)和这些点之间的连线(edge)所组成的;其中,点通常被成为"顶点(vertex)",而点与点之间的连线则被成为"边或弧"(edege)。通常记为,G=(V,E)。2、根据边是否有方向,将图可以划分为:无向图和有向...原创 2019-11-30 17:41:08 · 564 阅读 · 0 评论 -
数据结构之二叉树(java语言版)
数据结构之二叉树(java语言版)数据结构与算法学习目录之前的都是线性结构,而树结构在计算机应用中的应用更加广泛。linux中的目录结构,某些数据库的底层存储等,都是采用树结构进行构架的。树的概念线性表是一对一的关系,而树是一对多的关系。树的结点:包含一个数据元素及若干指向子树的分支;孩子结点:结点的子树的根称为该结点的孩子;双亲结点:B 结点是A 结点的孩子,则A结点是B 结点的双...原创 2019-11-30 16:55:52 · 294 阅读 · 0 评论 -
数据结构之队列(java语言版)
数据结构之队列(java语言版)数据结构与算法学习目录队列(Queue):在逻辑上是一种线性存储结构。它有以下几个特点:1、队列中数据是按照"先进先出(FIFO, First-In-First-Out)"方式进出队列的。2、 队列只允许在"队首"进行删除操作,而在"队尾"进行插入操作。队列通常包括的两种操作:入队列 和 出队列。队列的种类也很多,单向队列,双向队列,循环队列。底层可...原创 2019-11-30 10:23:21 · 147 阅读 · 0 评论 -
数据结构之栈(java语言版)
数据结构之栈(java语言版)栈(stack): 在逻辑上是一种线性存储结构,它有以下几个特点:1、栈中数据是按照"后进先出(LIFO, Last In First Out)"方式进出栈的。2、向栈中添加/删除数据时,只能从栈顶进行操作。栈通常包括的三种操作:push、peek、pop。push – 向栈中添加元素。peek – 返回栈顶元素。pop – 返回并删除栈顶元素的操作。...原创 2019-11-30 10:01:51 · 128 阅读 · 0 评论 -
数据结构之顺序表(java语言版)
数据结构之顺序表(java语言版)顺序表是最简单的线性表,也就是数组。很多语言都把把它当做内置的基本数据类型,这里的数组没有对应数据结构的操作。数组是顺序存储的结构,连续分配一段内存用于存储数据。在逻辑结构和物理结构上都是连续的。顺序表建立在java内置的数组上建立顺序表。public class Array{ private Object[] data;//容器 private ...原创 2019-11-29 18:42:25 · 593 阅读 · 0 评论 -
数据结构与算法引言
数据结构与算法引言数据结构和算法是计算机专业重要的基础课程。数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。算法简单来说就是解决问题的步骤。有了一个个数据结构和算法,我们可以编写出高质量的代码,高性能的产品。数据结构数据结构不仅仅是简单的存储数据的容器,它必须要具有对数据进行操作的能力,如增删改查等。数据结构常常为算法服务。常用数据结构如下:...原创 2019-11-29 00:07:22 · 253 阅读 · 0 评论 -
数据结构与算法学习目录
数据结构与算法学习目录数据结构与算法学习目录: c语言版 java语言版 引言 引言 顺序表 .......... 链表 链表 栈 .... 队列 .... 树 .... 图 ....待续。。。...原创 2019-11-29 00:06:15 · 547 阅读 · 0 评论 -
数据结构之链表(java语言版)
数据结构之链表(java语言版)链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。使用链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。链表的基本单位是节点(Node),每个节点有数据域和指针...原创 2019-11-29 00:25:53 · 276 阅读 · 0 评论 -
数据结构之图(c语言版)
数据结构之图(c语言版)图是比树更复杂的结构,树是一对多的关系,图是多对多的关系。一、基本概念1、定义:图(graph)是由一些点(vertex)和这些点之间的连线(edge)所组成的;其中,点通常被成为"顶点(vertex)",而点与点之间的连线则被成为"边或弧"(edege)。通常记为,G=(V,E)。2、根据边是否有方向,将图可以划分为:无向图和有向图。3、度,在无向图中,某个...原创 2019-11-29 00:25:33 · 1216 阅读 · 0 评论 -
数据结构之二叉树(c语言版)
数据结构之二叉树(c语言版)之前的都是线性结构,而树结构在计算机应用中的应用更加广泛。linux中的目录结构,某些数据库的底层存储等,都是采用树结构进行构架的。树的概念线性表是一对一的关系,而树是一对多的关系。树的结点:包含一个数据元素及若干指向子树的分支;孩子结点:结点的子树的根称为该结点的孩子;双亲结点:B 结点是A 结点的孩子,则A结点是B 结点的双亲;兄弟结点:同一双亲的孩子...原创 2019-11-29 00:25:08 · 1063 阅读 · 2 评论 -
数据结构之链表(c语言版)
数据结构之链表(c语言版)链表是线性表,链表的特点就是可以动态增减元素。种类有单向链表、双向链表,循环链表。一、单链表单链表的储存思想使用指针表示节点之间的逻辑关系,它的储存单元可以连续也可以不连续,每个储存单元需要储存信息和储存与后继节点的地址信息,储存单元又称之为节点。单链表由头指针唯一确定,整个单链表的操作必须由头指针开始。链表的单位是一个一个节点,每个节点分为数据域和指针域,数...原创 2019-11-29 00:15:35 · 392 阅读 · 0 评论 -
数据结构之顺序表(c语言版)
数据结构之顺序表线性表是最简单的数据结构,而顺序表又是最简单的线性表,其基本思想是用一段地址连续的储存单元依次存储线性表的数据元素;数组就是线性表,不过通常作为内置的数据结构,顺序表用数组为底层容器,优点在于可以动态增加删除元素,还可以自定义查找。一、C语言实现#include<stdio.h>#include<stdlib.h># define MAXSIZE...原创 2019-11-29 00:12:44 · 625 阅读 · 0 评论 -
数据结构之栈(c语言版)
数据结构之栈(c语言版)栈(stack),是一种线性存储结构,它有以下几个特点:1、栈中数据是按照"后进先出(LIFO, Last In First Out)"方式进出栈的。2、向栈中添加/删除数据时,只能从栈顶进行操作。栈通常包括的三种操作:push、peek、pop。push – 向栈中添加元素。peek – 返回栈顶元素。pop – 返回并删除栈顶元素的操作。栈底层可以基...原创 2019-11-29 00:24:05 · 367 阅读 · 0 评论 -
数据结构之队列(c语言版)
数据结构之队列(c语言版)队列(Queue),是一种线性存储结构。它有以下几个特点:1、队列中数据是按照"先进先出(FIFO, First-In-First-Out)"方式进出队列的。2、 队列只允许在"队首"进行删除操作,而在"队尾"进行插入操作。队列通常包括的两种操作:入队列 和 出队列。队列的种类也很多,单向队列,双向队列,循环队列。底层可以由数组(顺序表),链表实现。一、数...原创 2019-11-29 00:24:25 · 227 阅读 · 0 评论