计算机数据组织方式

跟我们日常工作和生活一样,计算机程序也组织它们的数据的时候,它们做这些事情的方式使用线性表、栈及词典,等等。这些数据组织的方式称为抽象数据类型(ADT)。

一个抽象数据类型(abstract data type),即ADT是描述一个数据集合以及在这个数据集合上的操作的说明。每个ADT里都存放的是什么数据,以及在这些数据上应该做些什么操作。但是ADT并不指明如何存放数据或者如何实现操作。因此,对ADT的谈论可以独立于任何程序设计语言。相反,数据结构(data structure)是ADT在程序设计语言中的一种实现。

数组

在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。

栈(stack)

是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。

队列(queue)

一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列是按照“先进先出”或“后进后出”的原则组织数据的。队列中没有元素时,称为空队列。

链表

是一种物理存储单元上非连续、非顺序的存储结构,它既可以表示线性结构,也可以用于表示非线性结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。

是包含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组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。

在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。

散列表(词典)

若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。

时间: 2024-11-12 15:48:35

计算机数据组织方式的相关文章

计算机编码方式

首先需要弄明白一件事,计算机只能识别0,1.因此字符什么的需要编码进行存储. 计算机是由老外发明的,他们可没有什么汉字 ,只有ABCD....,所以呢,最早的编码 是ASCII编码,最开始是给128个字符进行编码. 但这显然是不行的啊,世界上除了英语,还有那么多其他语言,因此ASCII码显然不适合 这种情况. 于是又有了Unicode编码方式,俗称万国码,可以存储好几万个字符.但是又有新的问题 出现了,Unicode码不适合存储啊,因为Unicode是定长编码,非常浪费存储空间, 这里又有了一种

dicom通讯的工作方式及dicom标准简介

转自:http://www.cnblogs.com/assassinx/p/3223460.html 本文主要讲述dicom标准及dicom通讯的工作方式.dicom全称医学数字图像与通讯 其实嘛就两个方面 那就是“存储”跟“通讯”. 文件数据组织方式  网络数据组织方式.文件数据组织方式就是解析静态的dicom文件 在 <dicom格式文件解析器>一文中已经阐述过了 就不再说了.网络数据组织方式 简而言之就是各种协议 命令控制 数据序列化.那么这一章中我们将会讲他,但是进行实际操作将在后面几

计算机的组成及初步了解Linux

计算机组成 计算机由硬件和软件组成硬件由5部分组成,分别是运算器.存储器.控制器.输入设备.输出设备.而控制器和运算器就组成了我们所说的CPU.(1) 控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序.数据.地址,协调计算机各部分工作及内存与外设的访问等.(2) 运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理.(3) 存储器(Memory):存储器的功能是存储程序.数据和各种信号

Linux 计算机基础

计算机的组成:运算器.控制器.存储器.输入设备.输出设备. 运算器功能:对数据进行各种运算.除了对常规的加.减.乘.除运算外,还可以进行对与.或.非的逻辑运算. 控制器功能:是整个计算机系统的控制中心,指挥计算机协调运作. 存储器:主要存储程序和数据信息,并能在计算机运作时,能高速.自动存取程序或数据. 输入设备:向计算机输入各种程序和原始数据的设备. 输出设备:从计算机输出原始数据的设备. 2.描述内核功能以及作用 Linux 作用:主要负责系统的进程管理.内存管理.文件系统.网络功能.硬件驱

java 实现序列化的两种方式

序列化是把java对象以字节流的形式写入硬盘或传给网络中的其他计算机. 方式一:实现Serializable借口.该接口是一个空借口,仅用于标识该对象可以被序列化,以便jre对其做封装. 方式二:实现Externalizable借口.该接口继承自Serializable借口,添加了两个方法 writeExternal()/readExternal(),在writeExternal()方法中可以指定需要序列化的属性,实现部分序列化

整数在计算机中的表示

C语言中对于整数的编码有两种方式:无符号整数和有符号整数编码(主要是补码表示).今天详细介绍这两种编码方式在C语言中的表示,以及它们之间的相互转换. 无符号整数 对于二进制序列[xw-1,xw-2,-,x2,x1,x0],其无符号整数为: 例如: 图示说明: 有符号整数 有符号整数在计算机表示方式有多种,这里主要介绍补码表示. 对于二进制序列[xw-1,xw-2,-,x2,x1,x0],其补码表示为: 例如: 图式说明: 通过补码表示公式可以发现,最高位的权值是负数,而其它位的权值是正数,那么补

如何解决 不能以 DISTINCT 方式选择 text、ntext 或 image 数据类型

distinct去重,如果遇到text字段,可以用以下方法解决 1.用not exists select * from tab awhere not exists (  select 1 from tab b  where b.col1 = a.col1  and b.col2 = a.col2  ...  ) 2.转成字符型CONVERT(VARCHAR(8000),你的字段) select distinct * from ( select id, convert(varchar(8000),

计算机组成与功能

计算机组成与功能 计算机 组成 功能 1.计算机组成 计算机的包含5个部分:运算器.控制器.内存.输入.输出 运算器:本质上计算机的运算器完成算术预算和逻辑运算的单元.所有的计算机操作都会转为逻辑或算术运算或者逻辑+算术运算.举个例子,您在计算机屏幕上不经意的一点,最后cpu会把这个动作可能会转为若干个逻辑+算术运算.为了完成的算术预算和逻辑运算,cpu还设计了一个寄存器来配合实现运算操作. 控制器:调度内存.运算器有序工作的指挥系统. 存储器:存储命令和指令的空间,cpu层有cache,其次按

为什么非正常关机方式会对电脑不好?

硬盘的物理组成: 大家应该都看过硬盘吧!硬盘依据桌上型与笔记型计算机而有分为3.5寸及2.5寸的大小.我们以3.5寸的桌上型计算机使用硬盘来说明. 在硬盘盒里面其实是由许许多多的圆形磁碟盘.机械手臂. 磁碟读取头与主轴马达所组成的,整个内部如同下图所示: 图2.4.1.硬盘物理构造(图片取自维基百科) 实际的数据都是写在具有磁性物质的磁碟盘上头,而读写主要是透过在机械手臂上的读取头(head)来达成. 实际运作时, 主轴马达让磁碟盘转动,然后机械手臂可伸展让读取头在磁碟盘上头进行读写的动作. 另