常见数据结构:你应该了解的常见data structure和常见术语中英文对照

几乎所有已开发的程序或软件系统都使用数据结构。此外,数据结构属于计算机科学和软件工程的基础。因此,如果你需要用到编程技能,就应该对数据结构有充分的了解。今天我们为大家详细介绍你应该了解的常见数据结构和常见术语中英语对照。

数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。

数据结构往往同高效的检索算法和索引技术有关。数据结构可以分为逻辑结构和存储结构,有四类基本逻辑结构:集合、线性结构、树形结构、图状结构。这几类结构有以下几个特点:

集合结构:除了同属于一种类型外,别无其它关系。

线性结构:元素之间存在一对一关系。常见类型有: 数组,链表,队列,栈。它们之间在操作上有所区别。例如:链表可在任意位置插入或删除元素,而队列在队尾插入元素,队头删除元素,栈只能在栈顶进行插入,删除操作。

树形结构:元素之间存在一对多关系。常见类型有:树(有许多特例:二叉树、平衡二叉树、查找树等)

图形结构:元素之间存在多对多关系,图形结构中每个结点的前驱结点数和后续结点多个数可以任意。

那么有哪些常见的数据结构呢?他们又有哪些特征呢?今天SimpleTense就来总结一下,希望对大家有所帮助。

常见数据结构

数组(Array)

数组是一种聚合数据类型,它是将具有相同类型的若干变量有序地组织在一起的集合。数组可以说是最基本的数据结构,在各种编程语言中都有对应。一个数组可以分解为多个数组元素,按照数据元素的类型,数组可以分为整型数组、字符型数组、浮点型数组、指针数组和结构数组等。数组还可以有一维、二维以及多维等表现形式。

栈(Stack)

栈是一种特殊的线性表,它只能在一个表的一个固定端进行数据结点的插入和删除操作。栈按照后进先出的原则来存储数据,也就是说,先插入的数据将被压入栈底,最后插入的数据在栈顶,读出数据时,从栈顶开始逐个读出。栈在汇编语言程序中,经常用于重要数据的现场保护。栈中没有数据时,称为空栈。

队列(Queue)

队列和栈类似,也是一种特殊的线性表。和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作。一般来说,进行插入操作的一端称为队尾,进行删除操作的一端称为队头。队列中没有元素时,称为空队列。

链表(Linked List)

链表是一种数据元素按照链式存储结构进行存储的数据结构,这种存储结构具有在物理上存在非连续的特点。链表由一系列数据结点构成,每个数据结点包括数据域和指针域两部分。其中,指针域保存了数据结构中下一个元素存放的地址。链表结构中数据元素的逻辑顺序是通过链表中的指针链接次序来实现的。

树(Tree)

树是典型的非线性结构,它是包括,2个结点的有穷集合K。在树结构中,有且仅有一个根结点,该结点没有前驱结点。在树结构中的其他结点都有且仅有一个前驱结点,而且可以有两个后继结点,m≥0。

1)二叉树

2)遍历二叉树:

前序(先中间,再左边,后右边)

中序(先左边,再中间,后右边)

后序(先左边,再右边,后中间)

3)线索二叉树:用二插链表实现的二叉树,将那些没有使用的左右指针指向前驱和后继(前驱和后继就是遍历后(例如用中序遍历)的数据序列某一个数据的前面和后面的数据),形成的二叉树为线索二叉树。一般用在经常遍历和利用前驱和后继查找结构的情况。

4)赫夫曼树:用于压缩

5)二叉排序树:根节点的左子树若不为空,则左子树所有节点都小于根节点。根节点的右子树若不为空,则右子树所有节点都大于根结点。根节点的左右子树不为空,则其都是二叉平衡树。

6)平衡二叉树:一颗左右子树高度差至多等于1的二叉排序树。

添加节点的时候,根据不平衡子树左旋右,保证最后的树是平衡的。

优点:查找,插入,删除时间复杂度都是:O(logn)

7)多路查找树:结点的孩子不止为两个,结点存的值补位一个。如2-3树,2-3-4树,B树,B+树

8)红黑树:也是二叉排序树。利用一个结点的属性表明这个结点是红是黑。查找等同于二叉排序树。插入和删除利用这个颜色属性来保证操作之后树还是平衡的。所以查找,插入和删除的时间复杂度都是:O(logn)。统计性能比平衡二叉树好

9)堆:二叉树,分为大顶堆,小顶堆。大顶堆的要求是每个节点的值都不大于其父节点的值,小顶堆放过来。

图(Graph)

图是另一种非线性数据结构。在图结构中,数据结点一般称为顶点,而边是顶点的有序偶对。如果两个顶点之间存在一条边,那么就表示这两个顶点具有相邻关系。

常见数据结构 data structure

五种构造图的方式

1)遍历:

深度优先:一个劲的朝一个方向使劲,当重复了就返回

广度优先:先从一个顶点触发,拿到这个顶点,再把与这个顶点相关的顶点放入队列,再从队列取数据,再把与这个新取的顶点相关的顶点(非重复过的顶点)放入队列,依次同理操作

2)最小生成树:

普里姆(Prim)算法:O(n2)

克鲁斯卡尔(Kruskal)算法:O(e*loge)

3)最短路径:

迪杰斯特拉(Dijkstra)算法O(n3)

弗洛伊德(Floyd)算法O(n3)

4)拓扑排序:AOV网:用顶点表示活动,用弧表示优先关系的有向图

拓扑排序算法:O(n+e)  n个顶点e条边

5)关键路径:AOE网:用顶点表示时间,用有向边表示活动,用边的权值表示持续的时间的有向图

关键算法路径:O(n+e)

堆(Heap)

堆是一种特殊的树形数据结构,一般讨论的堆都是二叉堆。堆的特点是根结点的值是所有结点中最小的或者最大的,并且根结点的两个子树也是一个堆结构。

散列表(Hash)

散列表源自于散列函数(Hash function),其思想是如果在结构中存在关键字和T相等的记录,那么必定在F(T)的存储位置可以找到该记录,这样就可以不用进行比较操作而直接取得所查记录。

常见数据结构术语中英对照表

数据      Data

数据元素     Data element

数据项  Data item

数据结构     Data structure

逻辑结构     Logical structure

数据类型     Data type

指针      Pointer

顺序存储结构    Sequential storage structure

链状存储结构    Linked storage structure

稠密索引     Dense index

稀疏索引     Sparse index

抽象数据类型    Abstract DataType

算法      Algorithm

正确性  Correctness

可读性  Readability

健壮性  Robustness

频度      Frequency count

时间复杂度 Time complexity

空间复杂度 Space complexity

直接前驱     Immediate predecessor

线性表  Linear list

顺序表  Sequenatial list

单链表  Singly linked list

循环链表     Circylar linked lists

双向链表     Double linked lists

双向循环链表    Double circular linked list

栈   Stack

栈顶      Top

栈底      Botton

后进先出     Last In First Out

上溢      Overflow

下溢      Underflow

共享      Shared

队列      Queue

队尾      Rear

队头      Front

先进后出     First In Last Out

串   String

子串      Substring

模式匹配     Pattern matching

数组      Arrays

行为主序     Row major order

列为主序     Column major order

稀疏矩阵     Sparse matrices

特殊矩阵     Special matrices

三元组表     List of 3_tuples

十字链表     Orthogonal list

广义表  Generalized lists

树   Tree

二叉树  Binary tree

满二叉树     Full binary tree

完全二叉树 Complete binary tree

二叉排序树 Binary sort tree

二叉搜索树 Binary search tree

前序遍历     Preorder traversal

中序遍历     Inorder traversal

后序遍历     Postorder traversal

哈夫曼树     Huffman tree

回溯      Backtrackins

图   Graph

有向图  Directed graph (digraph)

无向图  Undirected graph (undigraph)

有向完全图 Undirected Complete Graph

无向完全图 directed complete graph

稀疏图  Sparse graph

稠密图  Dense graph

网点      Network

邻结点  Adjacent

度   Degree

出度      Outdegree

入度      Indegree

连通图  Connected graph

连通分支     Connected component

强连通图     Strong graph

生成树  Spanning tree

邻接矩阵     Adjacency lists

邻接表  Adjacency lists

邻接多重表 Adjacency multilists

深度优先索引    Depth-First Search

广度优先索引    Breath-First Search

最小生成树 Minimum spanning tree

最短路径     Shortest path

有向无环图 Directed acycline graph

拓扑排序     Topological sort

检索      Searching

关键字  Key

主关键字     Primary key

顺序检索     Sequential search

折半检索     Binary search

分块检索     Blocking search

平衡二叉树 Best wishes alanced binary tree

平衡因子     Balanced factor

直接定址     Immediately allocate

除留余数法 Division method

数字分析法 Digit analysis method

折叠法  Folding method

线性探查     Linear probing

平方取中法 Mid-square method

开放定址法 Open addressing

链地址法     Chaining

排序   Sorting

直接插入排序    Straight insertion sort

希尔排序     Shells method

缩小增量排序    Diminishing increment sort

折半插入排序    Binary insertion sort

二路插入排序    2_way insertion sort

共享插入排序    Shared insertion sort

冒泡排序     Bubble sort

快速排序     Quick sort

选择排序     Selection sort

直接选择排序    Straight selection sort

树形选择排序    Tree selection sort

锦标赛排序 Tournament sort

堆排序  Heap sort

归并排序     Merging sort

二路归并     2_way merge

多路归并     Multi_way merge

基数排序     Radix sorting

最低位优先 (LSD) Least Significant Digit First

最高位优先 (MSD) Most Significant Digit First

文件     Files

顺序文件     Sequential file

索引文件     Indexed file

索引顺序存取方法   Indexed Sequential Access Method

虚拟存储存取方法   Virtual Storage Access Method

散列文件     Hashed file

多关键字文件    With more than one key

多重表文件 Multilist file

倒排文件     Inverted file

数据抽象     data abstraction

数据元素     data element

数据对象     data object

数据项  data item

数据类型     data type

抽象数据类型    abstract data type

基本数据类型    atomic data type

固定聚合数据类型   fixed-aggregate data type

可变聚合数据类型   variable-aggregate data type

线性表  linear list

栈   stack

队列      queue

串   string

数组      array

树   tree

图   grabh

前趋      predecessor

后继      successor

直接前趋     immediate predecessor

直接后继     immediate successor

双端列表     deque(double-ended queue)

循环队列     cirular queue

指针      pointer

先进先出表(队列)      first-in first-out list

后进先出表(队列)      last-in first-out list

栈底      bottom

栈顶      top

压入      push

弹出      pop

队头      front

队尾      rear

上溢      overflow

下溢      underflow

数组      array

矩阵      matrix

多维数组     multi-dimentional array

以行为主的顺序分配      row major order

以列为主的顺序分配      column major order

三角矩阵     truangular matrix

对称矩阵     symmetric matrix

稀疏矩阵     sparse matrix

转置矩阵     transposed matrix

链表      linked list

线性链表     linear linked list

单链表  single linked list

多重链表     multilinked list

循环链表     circular linked list

双向链表     doubly linked list

十字链表     orthogonal list

广义表  generalized list

链   link

指针域  pointer field

链域      link field

头结点  head node

头指针  head pointer

尾指针  tail pointer

串   string

空白(空格)串       blank string

空串(零串)    null string

子串      substring

树   tree

子树      subtree

森林      forest

根   root

叶子      leaf

结点      node

深度      depth

层次      level

二叉树  binary tree

平衡二叉树 banlanced binary tree

满二叉树     full binary tree

完全二叉树 complete binary tree

遍历二叉树 traversing binary tree

二叉排序树 binary sort tree

二叉查找树 binary search tree

线索二叉树 threaded binary tree

哈夫曼树     Huffman tree

有序数  ordered tree

无序数  unordered tree

判定树  decision tree

双链树  doubly linked tree

数字查找树 digital search tree

树的遍历     traversal of tree

先序遍历     preorder traversal

中序遍历     inorder traversal

后序遍历     postorder traversal

总的来说,数据结构作为算法的知识系统之一,学习起来难度较大,也让很多同学非常头痛。不过不用担心,StudyGate汇集全网大神,全天候帮助你提高数据结构的学习成绩!保原创,保成绩!几个步骤,完成大神集结!

studygate作业代写

Step 1:提交作业要求

三分钟即可完成下单,下单时可以选择作业需要的时间和具体要求。

Step 2:选择专业导师

作业提交成功之后,导师审核要求,确认之后会联系报价,可自由选择专业学科相关导师,并且确认作业最终价格。

Step 3:完成订单, 准时交付

导师开始处理订单。在此期间有任何问题,都可以登录账号和导师随时沟通。作业完成后,系统自动发送至你的邮箱,所有信息安全保密。你也可以登录账号直接下载。

Step 4:收到答案14天之内确认,100%满意保证

收到作业之后14天之内,如果对作业有任何问题,都可以联系导师进行修改。100%满意保证,只有你选择满意答案之后,我们才会扣款,安全有保障。

Step 5:对导师提出评价

我们拥有严格的导师考核评价机制,服务好不好,全由你说了算!你的认同是我们前进的动力。

我们的服务范围包括但不限于:
C,C#,C++
Computer Science
Data structure/Machine Learning
Dreamweaver
HTML 代写
Java/JavaScript/JQuery
Linux/Windows/Mac socket Algorithm
Macintosh
Mathematica (programming)
R语言
Networking (computer)
Oracle
Pascal/Perl/PHP/Python
Revit/Rust/Ruby
SAS/Sketchup/Solidworks/SQL/STATA/Swift/SPSS
UNIX
Visual Basic
Web Design/Operating System

StudyGate专业理工科作业辅导,最靠谱的Data Structure 作业辅导

有任何问题,欢迎随时咨询网页客服!