精华内容
下载资源
问答
  • 1. 常见的数据结构有哪些? 1.1 数组 数组是最常用的数据结构,数组的特点是长度固定,可以用下标索引,并且所有的元素的类型都是一致的。数组常用的场景:从数据库里读取雇员的信息存储为 EmployeeDetail[ ];把一...

    1. 常见的数据结构有哪些?

    1.1 数组

    数组是最常用的数据结构,数组的特点是长度固定,可以用下标索引,并且所有的元素的类型都是一致的数组常用的场景有:从数据库里读取雇员的信息存储为 EmployeeDetail[ ];把一个字符串转换并存储到一个字节数组中便于操作和处理等等。尽量 把数组封装在一个类里,防止数据被错误的操作弄乱。另外,这一点也适合其他的数据结构。

    1.2 栈

    栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作。 栈的特点是:先进后出,或者说是后进先出,从栈顶放入元素的操作叫入栈,取出元素叫出栈。

    java中的new出来的对象存储在栈中, 但是对应的地址值在堆中.

    1.3 堆

    堆是一种比较特殊的数据结构,可以被看做一棵树的数组对象,具有以下的性质:

    • 堆中某个节点的值总是不大于或不小于其父节点的值;
    • 堆总是一棵完全二叉树。

    1.4 队列

    队列与栈一样,也是一种线性表,不同的是,队列可以在一端添加元素,在另一端取出元素,也就是:先进先出。从一端放入元素的操作称为入队,取出元素为出队.

    1.5 链表

    链表是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现,每个元素包含两个结点,一个是存储元素的数据域 (内存空间),另一个是指向下一个结点地址的指针域。根据指针的指向,链表能形成不同的结构,例如单链表,双向链表,循环链表等。

    • 链表的优点:
      链表是很常用的一种数据结构,不需要初始化容量,可以任意加减元素;
      添加或者删除元素时只需要改变前后两个元素结点的指针域指向地址即可,所以添加,删除很快;
    • 缺点:
      因为含有大量的指针域,占用空间较大;
      查找元素需要遍历链表来查找,非常耗时。
    • 适用场景:
      数据量较小,需要频繁增加,删除操作的场景

    1.6 树

    树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做 “树” 是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:

    • 每个节点有零个或多个子节点;
    • 没有父节点的节点称为根节点;
    • 每一个非根节点有且只有一个父节点;
    • 除了根节点外,每个子节点可以分为多个不相交的子树;
      在日常的应用中,我们讨论和用的更多的是树的其中一种结构,就是二叉树。

    1.7 散列表(哈希表)

    散列表,也叫哈希表,是根据关键码和值 (key和value) 直接进行访问的数据结构,通过key和value来映射到集合中的一个位置,这样就可以很快找到集合中的对应元素。

    记录的存储位置=f(key)

    这里的对应关系 f 成为散列函数,又称为哈希 (hash函数),而散列表就是把Key通过一个固定的算法函数既所谓的哈希函数转换成一个整型数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里,这种存储空间可以充分利用数组的查找优势来查找元素,所以查找的速度很快。

    哈希表在应用中也是比较常见的,就如Java中有些集合类就是借鉴了哈希原理构造的,例如HashMap,HashTable等,利用hash表的优势,对于集合的查找元素时非常方便的,然而,因为哈希表是基于数组衍生的数据结构,在添加删除元素方面是比较慢的,所以很多时候需要用到一种数组链表来做,也就是拉链法。拉链法是数组结合链表的一种结构,较早前的hashMap底层的存储就是采用这种结构,直到jdk1.8之后才换成了数组加红黑树的结构,

    1.8 图

    图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。
    按照顶点指向的方向可分为无向图和有向图

    展开全文
  • 1.一共八大数据结构分类 1.数组 2.队列 3.... i.... ii.... iii....是这样一个有序的结点序列,每个链表元素既指向下一个元素的指针,又指向前一个元素的指针,其中每个结点都两种指针,即left和ri

    1.一共八大数据结构分类

    	1.数组
    	2.队列
    	3.链表
    		i.单链表
    		ii.双向链表
    		iii.循环链表
    	4.树
    	5.散列表
    	6.堆
    	7.栈
    	8.图
    

    辅助理解

    1、详细说下几个数据结构
    数组
    简单


    先进后出

    队列
    先进先出

    链表

    单链表:

    链表中的元素的指向只能指向链表中的下一个元素或者为空,元素之间不能相互指向。也就是一种线性链表。
    双向链表:

    是这样一个有序的结点序列,每个链表元素既有指向下一个元素的指针,又有指向前一个元素的指针,其中每个结点都有两种指针,即left和right。left指针指向左边结点,right指针指向右边结点。
    循环链表 :

    是在单向链表和双向链表的基础上,将两种链表的最后一个结点指向第一个结点从而实现循环。

    散列表

    散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

    堆是一种比较特殊的数据结构,可以被看做一棵树的数组对象,具有以下的性质:

    堆中某个节点的值总是不大于或不小于其父节点的值;
    堆总是一棵完全二叉树。

    图是由结点的有穷集合V和边的集合E组成

    按照顶点指向的方向可分为无向图和有向图
    八大数据结构

    展开全文
  • 网站结构类型有哪些

    千次阅读 2014-01-15 22:23:09
    1、线性结构  一般网站都属于线性结构,它是以某种顺序组织的,可以是... 一些网站会采用二维表结构,企业网站比较常见。这种结构允许用户横向、纵向地浏览信息。它就好象一个二维表,如看课表一样。  3、等级结构

      1、线性结构

      一般网站都属于线性结构,它是以某种顺序组织的,可以是时间顺序,也可以是逻辑甚至是字母顺序。通过这些顺序呈线性地链接。如一般的索引就采用线性结构。线性结构是组织网页的基本结构,复杂的结构也可以看成是由线性结构组成的。

      2、二维表结构

      一些网站会采用二维表结构,企业网站比较常见。这种结构允许用户横向、纵向地浏览信息。它就好象一个二维表,如看课表一样。

      3、等级结构

      等级结构由一条等级主线构成索引,每一个等级点又由一条线性结构构成。如网站导航等就是这种结构。在构造等级之前,你必须完全彻底的理解你的网站内容,避免线性组织不严的错误,不方便浏览者。

      4、网状结构

      这是最复杂的组织结构,它完全没有限制,网页组织自由链接。这种结构允许访问者从一个信息栏目跳到另一个栏目去,其目的就是充分利用网络资源和充分享受超级链接。整个互联网就是一个超级大的“网”状结构。

    展开全文
  • 常见的数字高程模型结构有哪些

    千次阅读 2020-04-06 16:02:50
    常见的数字高程模型DEM结构有哪些? 数字高程模型结构包括:规则格网DEM数据结构、不规则三角网DEM数据结构、格网与不规则三角网结构混合结构。 规则格网DEM数据结构 (1)简单矩阵结构:数据在水平和垂直方向的...

    常见的数字高程模型DEM结构有哪些?

    数字高程模型结构包括:规则格网DEM数据结构、不规则三角网DEM数据结构、格网与不规则三角网结构混合结构。

    1. 规则格网DEM数据结构
      (1)简单矩阵结构:数据在水平和垂直方向的间隔相等,按行或列的矩阵形式逐一记录每一格网单元高程值。为实现行列号和平面位置坐标的转换,需记录西南角的坐标值,格网间距等,在应用时常需将DEM真实高程值与转换值相互推算使用。
      (2)行程编码结构(又称游程编码结构):对于一幅DEM,在行或列方向上相邻的若干点具有相同的高程值,因而从第一列开始,在格网单元数值发生变化时依次记录该值以及重复的个数,应用时可利用重复个数恢复DEM矩阵。相比简单矩阵结构,对数据进行了压缩,数据量会降低很多。
      (3)块状编码结构:是行程编码结构从一维扩展到二维的情况,采用正方形区域作为记录单元,每个记录单元包括相邻的若干栅格,数据结构由起始行号、列号、格网高程值、区域半径组成的单元组。也是一种有效的压缩编码。
      (4)四叉树数据结构:将一幅图像或栅格地图等分成四个部分,逐块检查其栅格值,若每个子区中所有栅格都含有相同值,则该子区不再往下分割,否则,继续将该区域再分割成四个子区域,如此递归地分割,直到每个子块都含有相同的灰度或属性值为止。由于是四等分,所以如7乘7这种,必须在行和列添加一个,变成8乘8,这样才能四等分。分割方式有自上往下(人的思维习惯)和自下而上(计算机的思维习惯)两种。
    1. 不规则三角网DEM数据结构(TIN数据结构)
      通过组成三角形的三顶点可完整地表达三角形的构成以及三角形顶点、三角形边、三角形面之间的拓扑关系,这种结构需两个文件,三角形顶点坐标文件和组成三角形三顶点文件。

    (1)基本数据结构:只需要三角形顶点坐标文件和组成三角形三顶点文件,结构简单但三角形结构元素的拓扑关系是隐含的,不利于TIN模型的检索与应用。
    (2)面结构:坐标表、三角形表以及邻接三角形表,显示表达三角形的拓扑关系,拓扑关系为显式,方便、随时使用。
    (3)点结构:一个坐标表和一个邻接指针链;通过反映哪些点之间具有连通关系,拓扑关系为隐式,数据维护不方便。
    (4)点面结构:坐标表、邻接指针链和三角形表;隐式拓扑关系。
    (5)边结构:坐标表和边表;反映每条边是由哪些点连接而成,并反映其邻接边,隐式拓扑关系。
    (6)边面结构:坐标表、边表和三角形表;拓扑关系为显式,数据量最大,较方便,生成工作量较大。

    结 构 存储量 拓扑关系 应用
    面结构 264 显式 方便,随时可用
    点结构 248 隐式 数据维护不方便
    点面结构 224 隐式 数据维护不方便
    边结构 160 隐式 较方便,专用算法生成
    边面结构 370 显式 较方便,生成工作量较大
    1. 格网与不规则三角网结构混合结构
    类型 规则格网DEM 不规则三角网TIN
    优点 简单的数据存储结构; 与遥感影像数据的相合性; 良好的表面分析功能; 较少的点可获取较高的精度; 可变分辨率; 良好的拓扑结构
    缺点 计算效率较低; 数据冗余; 格网结构规则; 表面分析能力较差;构建比较费时;算法设计比较复杂;

    把规则格网DEM数据结构和TIN数据结构二者结合,比较复杂。

    例如:

    • Grid-TIN 模型
      Grid-TIN 以规则格网为基础, 在需要进行精细地形表达的地方嵌入不规则三角网, 并充分顾及精细地形的特征点、特征线和特征面, 确定三角形的大小和形状, 实现对各类复杂地形的细部刻画。
    内容
    优点 能方便快速地检索特征地形。
    缺点 必须进行两种不同地形描述机理之间信息的协调与共享, 这就不得不打破原有格网DEM 数据结构的完整性和简洁性, 给全局数据的高效组织与处理带来很大困难。
    展开全文
  • Windows体系结构是分层的模块系统,主要层次硬件抽象层HAL、内核、执行体和大量的子系统集合。 子系统又分为环境子系统和保护子系统,其中环境子系统仿真不同的操作系统,保护子系统提供安全功能。 1、内核 ...
  • 上次在面试时被面试官问到学了哪些数据结构,那时简单答了栈、队列/(ㄒoㄒ)/~~其它就都想不起来了,今天有空整理了一下几种常见的数据结构,原来我们学过的数据结构有这么多~ 首先,先来回顾下C语言中常见的基本数据...
  • ① 集合 集合中任何两个数据元素之间都没有逻辑关系,组织形式松散. ② 线性结构 线性结构中的 结点...集合:结构中的数据元素之间除了同属于一种类型外,别无其它关系 线性结构结构中的数据元素之间存在一对一的...
  • 数据结构算法常见面试考题

    万次阅读 多人点赞 2018-11-08 09:29:44
    把数据结构上几种树集中的讨论一下: 1.AVLtree 定义:最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)...
  • java常见的数据结构类型

    千次阅读 2018-09-30 15:35:34
    java常用的数据结构分为两类,分别实现了Collection接口和Map接口。 import java.util.Hashtable; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util....
  • 一.什么是异常 概述:异常就是在咱们日常撸代码时,代码在运行期可能会发生的执行异常,所以我们需要将部分可能会...异常体系结构以及常见的异常类型有哪些 常见的异常类型 异常类型 说明 ArithmeticExcep
  • 常见报表类型解析 根据报表的布局、数据源结构、打印方式和数据分析方式,可将应用系统中的报表分为以下类型: 清单报表图表报表分栏报表分组报表交叉报表并排报表主从报表套打报表交互式报表 (一)清单报表 ...
  • 常见的大数据技术类型有哪些

    千次阅读 2020-05-28 13:39:11
    今天我们就一起来了解一下,目前比较常见的一些大数据技术都有哪些类型。  1.数据湖  数据湖是个庞大的数据存储库,从不同来源收集数据,并以自然状态存储起来。切莫与数据仓库混为一谈,数据仓库基本上执行...
  • 数据结构在实际应用中非常常见,现在各种算法基本都牵涉到数据结构,因此,掌握数据结构算是软件工程师的必备技能。 一、什么是数据结构 数据结构,直白地理解,就是研究数据的存储方式。 我们知道,数据存储只有一...
  • 常见结构化存储系统架构

    千次阅读 2019-03-01 22:39:24
    结构化数据一般指存储在数据库中,具有一定逻辑结构和物理结构的数据,最为常见的是存储在关系数据库中的数据;非结构化数据:一般指结构化数据以外的数据,这些数据不存储在数据库中,而是以各种类型的文本形式存放...
  • 常见数据结构

    万次阅读 2018-02-05 15:01:50
    2.数组中的所有元素必须是相同类型类型的衍生(同质数据结构) 3.元素可以通过下标直接访问   二 LinkedList(链表) 链表:线性表的一种,最基本,最简单,也是最常用的数据结构 特征: 1.元素之间的关系是一对一的...
  • MYISAM,INNODB,ISAM,HELP,BerkeleyDB,MERGEMYISAM表由:表名.frm 描述表结构。表名.MYD保存表数据。表名.MYI存储表索引
  • 卷积神经网络常见结构

    千次阅读 2018-03-14 09:50:57
    卷积神经网络常见结构 卷积神经网络中常见的层类型有: 卷积层(CONV) 激活函数(ACT 或 RELU) 池化层(POOL) 全连接层(FC) Batch normalization(BN) Dropout(DO) 其中常见的组合为: 注: * ...
  • 常用数据结构有哪些

    千次阅读 2010-07-29 19:41:00
    <br />集合结构:除了同属于一种类型外,别无其它关系 <br />线性结构:元素之间存在一对一关系常见类型有: 数组,链表,队列,栈,它们之间在操作上有所区别.例如:链表可在任意位置插入或删除元素,而队列在...
  • 常见的拓扑结构

    2019-10-16 13:41:31
    所谓“拓扑”就是把实体抽象成与其大小、形状无关的“点”,而把连接实体的线路抽象成“线”,进而...拓扑结构种类有很多,其中最常见的信号总线拓扑结构有以下4种:点到点、菊花链、星型、远端簇型。 1、点到点拓...
  • 数据结构--链表概念及常见链表结构

    千次阅读 2020-12-17 00:09:25
    链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表的结构由以下8种: 1、不带头单向循环结构 2、不带头单向非循环结构 3、不带头双向循环结构 4、不...
  • 图解!24张图彻底弄懂九大常见数据结构

    万次阅读 多人点赞 2020-05-24 22:23:36
    ​数据结构想必大家都不会陌生,对于一个...数据结构种类繁多,本文将通过图解的方式对常用的数据结构进行理论上的介绍和讲解,以方便大家掌握常用数据结构的基本知识。 本文提纲: 1数组 数组可以说是最基本最...
  • 通过上节我们知道,数据结构是学习数据存储方式的一门学科,那么,数据存储方式哪几种呢?本节将对数据结构的学习内容做一个简要的总结。 数据结构大致包含以下几种存储结构: 线性表,还可细分为顺序表、链表、栈...
  • 常见数据结构与算法整理总结(上)

    万次阅读 多人点赞 2018-08-06 18:23:14
    数据结构是以某种形式将数据...为了便于描述,文中涉及到的代码部分都是用Java语言编写的,其实Java本身对常见的几种数据结构,线性表、栈、队列等都提供了较好的实现,就是我们经常用到的Java集合框架,需要的...
  • (1)线性数据结构:元素之间一般存在元素之间存在一对一关系,是最常用的一类数据结构,典型的:数组、栈、队列和线性表。 (2)树形结构:结点间具有层次关系,每一层的一个结点能且只能和上一层的一个结点相关...
  • Python数据类型有哪些哪些是可变类型哪些是不可变类型类型: 整数int 字符串str 浮点数float 布尔型bool 列表list 字典dict 集合set 元组tuple 可变类型:就是这个数据类型的值在不改变这一块内存空间,而去...
  • 常见以太网帧结构

    2017-10-17 08:45:00
    常见的以太网帧结构由ETHERNET II 和 IEEE802.3。 ETHERNET II 数据链路层帧格式 IEEE802.3数据链路层帧格式 Ethernet II和IEEE802.3的帧格式比较类似,主要的不同点在于前者定义的2字节的类型,而后者定义的...
  • 面试中常见的数据结构

    万次阅读 2018-07-26 10:08:20
    上次在面试时被面试官问到学了哪些数据结构,那时简单答了栈、队列/(ㄒoㄒ)/~~其它就都想不起来了,今天有空整理了一下几种常见的数据结构,原来我们学过的数据结构有这么多~   首先,先来回顾下C语言中常见的...
  • 常见数据结构优缺点

    千次阅读 2018-12-02 22:23:53
    通用数据结构: 1.数组 分类: 无序数组,有序数组 特点: 一般针对数据量较小且数据可预知的情况,创建时指定大小,不利于扩展;在内存中预留一块连续的区域,内存空置率高利用率较低;无序数组插入较快,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 624,103
精华内容 249,641
关键字:

常见的结构类型有哪些