- 相关推荐
数据结构中的名词解释
数据结构:数据结构是研究数据元素之间抽象化的相互关系和这种关系在计算机中的存储表示(即所谓数据的逻辑结构和物理结构),并对这种结构定义相适应的运算,设计出相应的算法,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。
数据:数据是人们利用文字符号、数字符号以及其他规定的符号对现实世界的事物及其活动所做的描述。在计算机科学中,数据的含义非常广泛,我们把一切能够输入到计算机中并被计算机程序处理的信息,包括文字、表格、图象等,都称为数据。 结点:结点也叫数据元素,它是组成数据的基本单位。
逻辑结构:结点和结点之间的逻辑关系称为数据的逻辑结构。
存储结构:数据在计算机中的存储表示称为数据的存储结构。
数据处理:数据处理是指对数据进行查找、插入、删除、合并、排序、统计以及简单计算等的操作过程。
数据类型:数据类型是指程序设计语言中各变量可取的数据种类。数据类型是高级程序设计语言中的一个基本概念,它和数据结构的概念密切相关。本章主要介绍了如下一些基本概念:
线性表:一个线性表是n≥0个数据元素a0,a1,a2,…,an-1的有限序列。线性表的顺序存储结构:在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构。
线性表的链式存储结构:线性表的链式存储结构就是用一组任意的存储单元——结点(可以是不连续的)存储线性表的数据元素。表中每一个数据元素,都由存放数据元素值的数据域和存放直接前驱或直接后继结点的地址(指针)的指针域组成。
循环链表:循环链表(Circular Linked List)是将单链表的表中最后一个结点指针指向链表的表头结点,整个链表形成一个环,从表中任一结点出发都可找到表中其他的结
循环链表:循环链表(Circular Linked List)是将单链表的表中最后一个结点指针指向链表的表头结点,整个链表形成一个环,从表中任一结点出发都可找到表中其他的结点。
双向链表:双向链表中,在每一个结点除了数据域外,还包含两个指针域,一个指针(next)指向该结点的后继结点,另一个指针(prior)指向它的前驱结点。
除上述基本概念以外,学生还应该了解:线性表的基本操作(初始化、插入、删除、存取、复制、合并)、顺序存储结构的表示、线性表的链式存储结构的表示、一元多项式Pn(x),掌握顺序存储结构(初始化、插入操作、删除操作)、单链表(单链表的初始化、单链表的插入、单链表的删除)。
一些简单的数据结构的名词解释2017-04-09 22:55 | #2楼
线性表:
线性表是由n(n≥0)个相同类型的元素组成的有序集合。
栈:
线性表的一种特殊形式,是一种限定性数据结构,也就是在对线性表的操作加以限制后,形成的一种新的数据结构。是限定只在表尾进行插入和删除操作的线性表。允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何数据元素的栈称为空栈。
队列:
将线性表的插入和删除操作分别限制在表的两端进行,和栈相反,队列是一种先进先出的线性表。允许插入的一端称为队尾,允许删除的一端称为队头。
串:
线性表的一种特殊形式,表中每个元素的类型为字符型,是一个有限的字符序列。
堆:
堆是具有下列性质的完全二叉树:每个结点的值都小于或等于其左右孩子结点的值(称为小根堆);或者每个结点的值都大于或等于其左右孩子结点的值(称为大根堆)。
堆排序:
首先将待排序的记录序列构造成一个堆(假设利用大根堆),此时,选出了堆中所有记录的最大者即堆顶记录,然后将它从堆中移走(通常将堆顶记录和堆中最后一个记录交换),并将剩余的记录再调整成堆,这样又找出了次大的记录,以此类推,直到堆中只有一个记录为止。
java堆和栈的区别:
①数据结构:堆:堆可以被看成是一棵完全二叉树树(最小堆和最大堆)。栈:一种先进后出的数据结构。
②栈的优势是,存取速度比堆要快,仅次于直接位于cpu中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据在多个线程或者多个栈之间是不可以共享的,但是在栈内部多个值相等的变量是可以指向一个地址的。
堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。
③ 栈(stack)与堆(heap)都是java用来在ram中存放数据的地方。与c++不同,java自动管理栈和堆,程序员不能直接地设置栈或堆。
④java中的数据类型有两种。
一种是基本类型(primitivetypes), 共有8种,即int,short, long, byte, float, double, boolean, char(注意,并没有string的基本类型)。这些字面值的数据,由于大小可知,生存期可知(这些字面值固定定义在某个程序块里面,程序块退出后,字段值就消失了),出于追求速度的原因,就存在于栈中。
另一种是包装类数据,【如integer,string, double等将相应的基本数据类型包装起来的类。这些类数据全部存在于【堆】中】,java用new()语句来显示地告诉编译器,在运行时才根据需要动态创建,因此比较灵活,但缺点是要占用更多的时间。
【数据结构中的名词解释】相关文章:
保险中的名词解释03-03
中建史名词解释06-02
中密度纤维板工艺参数名词解释04-26
地貌名词解释06-15
中医的名词解释05-26
西方名词解释04-03
炒股名词解释03-16
薪酬制度的名词解释05-18
薪酬制度 名词解释05-18
解剖生理名词解释06-01