今天要介绍的主角就是-数组,数组也是数据呈线性排列的一种数据结构。与前一节中的链表不同,在数组中,访问数据十分简单,而添加和删除数据比较耗工夫。这和什么是数据结构那篇文章中讲到的姓名按拼音顺序排列的电话簿类似。数组如上就是数组的概念图,Blue、Yellow、Red作为数据存储在数组中,其中a是数组的名字,后面[]中的数字表示该数据是数组中的第几个数据,该数字也就是数组下标,下标从0开始计数,比如
分类:
编程语言 时间:
2020-08-28 14:25:20
阅读次数:
113
上一篇文章ElasticSearch术语中提到了倒排索引,那么这篇文章就来讲解下什么是倒排索引,倒排索引的数据结构以及ElasticSearch中的倒排索引。倒排索引倒排索引(InvertedIndex)也常被称为反向索引,是搜索引擎中非常重要的数据结构,为什么说它重要呢,我们首先拿一本书《重构改善既有代码的设计》举个例子:如果一本书没有目录的话,理论上也是可以读的,只是合上书下次再次阅读的时候,
分类:
其他好文 时间:
2020-08-28 11:58:21
阅读次数:
49
我们在这篇文章将要学习最有用的数据结构之一—哈希表,哈希表的英文叫HashTable,也可以称为散列表或者Hash表。哈希表用的是数组支持按照下标随机访问数据的特性,所以哈希表其实就是数组的一种扩展,由数组演化而来。可以说,如果没有数组,就没有散列表。哈希表存储的是由键(key)和值(value)组成的数据。例如,我们将每个人的性别作为数据进行存储,键为人名,值为对应的性别,其中M表示性别为男,F
分类:
其他好文 时间:
2020-08-28 11:55:41
阅读次数:
50
与前面提到的数据结构相同,队列中的数据也呈线性排列。虽然与栈有些相似,但队列中添加和删除数据的操作分别是在两端进行的,就和队列这个名字一样,把它想象成排成一队的人更容易理解。在队列中,处理总是从第一名开始往后进行,而新来的人只能排在队尾。队列是什么?如上就是队列的概念图,现在队列中只有数据Blue。往队列中添加数据时,数据被加在最上面。然后,队列中添加了数据Green。往队列中添加数据的操作叫作入
分类:
其他好文 时间:
2020-08-28 11:55:21
阅读次数:
50
本文将介绍一个重要的数据结构—栈,和之前讲到的链表、数组一样也是一种数据呈线性排列的数据结构,不过在这种结构中,我们只能访问最新添加的数据。栈就像是一摞书,拿到新书时我们会把它放在书堆的最上面,取书时也只能从最上面的新书开始取。栈如上就是栈的概念图,现在存储在栈中的只有数据Blue。往栈中添加数据的时候,新数据被放在最上面。然后,我们往栈中添加了数据Green。往栈中添加数据的操作叫作入栈。接下来
分类:
其他好文 时间:
2020-08-28 11:54:58
阅读次数:
55
在了解完什么是数据结构之后,让我们一起来探索下数据结构中常见的一种—链表。链表链表是数据结构之一,其中的数据呈线性排列。在链表中,数据的添加和删除都较为方便,就是访问比较耗费时间。如上图所示就是链表的概念图,Blue、Yellow、Red这3个字符串作为数据被存储于链表中,也就是数据域,每个数据都有1个指针,即指针域,它指向下一个数据的内存地址,其中Red是最后1个数据,Red的指针不指向任何位置
分类:
其他好文 时间:
2020-08-28 11:54:26
阅读次数:
42
本篇文章主要来介绍什么是数据结构。首先让我们来看一张图片:数据结构数据存储于计算机的内存中。内存如上图所示,形似排成1列的箱子,1个箱子里存储1个数据。数据存储于内存时,决定了数据顺序和位置关系的便是数据结构。其实在我们生活中用到很多数据结构的知识,那么举一个我们生活中的栗子:首先举一个从上往下顺序添加举个简单的例子。假设我们有1个电话簿——虽说现在很多人都把电话号码存在手机里,但是这里我们考虑使
分类:
其他好文 时间:
2020-08-28 11:54:12
阅读次数:
46
C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu ...
分类:
编程语言 时间:
2020-08-26 19:03:33
阅读次数:
68
二叉树节点函数定义: /** * Definition for a binary tree node. */ function TreeNode(val){ this.val = val; this.left = this.right = null; } 层次遍历构建二叉树(广度优先) functi ...
分类:
其他好文 时间:
2020-08-26 18:35:16
阅读次数:
74
一、二叉树基本知识 二、二叉树先序遍历 题目: 输入一个整数n,表示二叉树中结点个数,编号为1~n。1号结点为二叉树的根节点。然后输入n行,每行包括两个整数,第i行表示编号为i的结点的左、右子节点的编号。如果某个结点没有左或右子节点,那么对应行的第一、二个整数为0。输出此二叉树的先序遍历,每行输出一 ...
分类:
其他好文 时间:
2020-08-26 18:33:00
阅读次数:
50