常⽤数据结构有哪些
1、数据元素相互之间的关系称为结构。有四类基本结构:集合、线性结构、树形结构、图状结构。集合结构:除了同属于⼀种类型外,别⽆其它关系线性结构:元素之间存在⼀对⼀关系常见类型有: 数组,链表,队列,栈,它们之间在操作上有所区别。例如:链表可在任意位置插⼊或删除元素,
⽽队列在队尾插⼊元素,队头删除元素,栈只能在栈顶进⾏插⼊,删除操作。树形结构:元素之间存在⼀对多的关系,常见类型有:树(有许多特例:⼆叉树、平衡⼆叉树、查树等)图形结构:元素之间存在多对多的关系,图形结构中每个结点的前驱结点数和后续结点多个数可以任意
常⽤数据结构:数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(⼆叉树、查树、平衡树、线索、堆)、
图等的定义、存储和操作。
2、数据结构是计算机存储、组织数据的⽅式。数据结构是指相互之间存在⼀种或多种特定关系的数据元素的集合。通常情况下,精⼼选择的数据结构可以带来更⾼的运⾏或者存储效率。数据结构往往同⾼效的检索算法和索引技术有关。
在计算机科学中,数据结构是⼀门研究⾮数值计算的程序设计问题中计算机的操作对象(数据元素)以及
它们之间的关系和运算等的学科,
⽽且确保经过这些运算后所得到的新结构仍然是原来的结构类型。
“数据结构”作为⼀门独⽴的课程在国外是从1968年才开始设⽴的。 1968年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》
第⼀卷《基本算法》是第⼀本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。“数据结构”在计算机科学中是⼀门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的⼀门核⼼课程。数据结构这⼀门课的内容不仅是⼀般程序设计(特别是⾮数值性程序设计)的基础,⽽且是设计和实现编译程序、操作系统、
数据库系统及其他系统程序的重要基础。
常⽤的数据结构有:
数组 (Array)
在程序设计中,为了处理⽅便,把具有相同类型的若⼲变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语⾔中,数组属于构造数据类型。
⼀个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组⼜可分为数值数组、字符数组、指针数组、结构数组等
各种类别。
栈 (Stack)
栈是只能在某⼀端插⼊和删除的特殊线性表。它按照先进后出的原则存储数据,先进⼊的数据被压⼊栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据,最后⼀
个数据被第⼀个读出来。
队列 (Queue)
⼀种特殊的线性表,它只允许在表的前端(front)进⾏删除操作,⽽在表的后端(rear)进⾏插⼊操作。进⾏插⼊操作的端称为队尾,进⾏删除操作的端称为队头。队列中没有元素时,称为队空。
链表 (Linked List)
链表是⼀种物理存储单元上⾮连续、⾮顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接
次序实现的。链表由⼀系列结点(链表中每⼀个元素称为结点)组成,结点可    以在运⾏时动态⽣成。每个结点包括两个部分:⼀个是存储数据元素的数据域,另⼀个是存储下⼀个结点地址的指针域。
树 (Tree)
树是包含n(n>0)个结点的有穷集合K,且在K中定义了⼀个关系N,N满⾜以下条件:
1)有且仅有⼀个结点K0,他对于关系N来说没有前驱,称K0为树的根结点。简称为根(root)。
2)除K0外,K中的每个结点,对于关系N来说有且仅有⼀个前驱。
3)K中各结点,对关系N来说可以有m个后继(m>=0)。
图 (Graph)数据库基本数据类型有哪些
图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在⼀条边,就表⽰这两个顶点具有相邻关系。
堆 (Heap)
在计算机科学中,堆是⼀种特殊的树形数据结构,每个结点都有⼀个值。通常我们所说的堆的数据结构,
是指⼆叉堆。堆的特点是根结点的值最⼩(或最⼤),且根结点的两个⼦树也是⼀个堆。
散列表 (Hash)
若结构中存在关键字和K相等的记录,则该记录必定在f(K)的存储位置上。由此,不需⽐较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建⽴的表为散列表。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。