数据结构1
来源:互联网 发布:金山数据恢复手机版 编辑:程序博客网 时间:2024/04/30 15:39
一些基本概念和术语:
数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录
数据项:一个护具元素可以有若干个数据项组成,是数据不可分割的最小单位
数据对象:是性质相同的数据元素的集合,是数据的子集
数据结构:是相互之间存在一种或多种或多种特定关系的数据元素的集合。
逻辑结构:是指数据对象中数据元素之间的相互关系。
有以下四种关系: ①集合结构:集合结构中的数据元素除了同属于一个集合外,他们之间没有任何关系
②线性结构:线性结构中的数据元素之间是一对一的关系
③树形结构:树形结构中的数据元素之间存在一种一对多的层次关系
④图形结构:图形结构中的数据元素是多对多的关系
物理结构:是指数据的逻辑结构在计算机中的存储形式,分别是顺序存储和链式存储
顺序存储:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的
链式存储:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续 的
线性表:(元素有a1-an)
1.线性表的定义:零个或多个数据元素的有限队列
除了第一个数据元素没有前驱和末尾元素没有后继外,其他元素都有一个前驱和一个后继。
2.线性表的顺序存储结构
指的是用一段地址连续的存储单元一次存储线性表的数据元素。示意图如下:
顺序存储的结构代码:
顺序存储结构的插入与删除:
获得元素:
插入操作:
插入算法的思路:
插入位置不合理,抛出异常;
若线性表长度大于等于数组长度,则抛出异常或动态增加容量;
插入元素填入i处,i处后面的每个元素后移一位;
插入位置不合理,抛出异常;
若线性表长度大于等于数组长度,则抛出异常或动态增加容量;
插入元素填入i处,i处后面的每个元素后移一位;
表长+1
代码举例:
删除操作:
删除操作思路:
删除位置不合理,抛出异常;
取出删除元素;
从删除位置开始遍历到最后一个元素,分别将他们向前移动一个位置;
取出删除元素;
从删除位置开始遍历到最后一个元素,分别将他们向前移动一个位置;
表长-1
代码举例:
优点:1.无须为表示表中元素之间的逻辑关系而增加额外的存储空间
2.可以快速的存取表中任意位置的元素
缺点:1.插入和删除操作需要移动大量元素
2.当线性表长度变化较大时,难以确定存储空间的容量
3.造成存储空间的“碎片”
0 0
- 数据结构1-数据结构概述
- 数据结构1
- 数据结构1
- 数据结构1
- 数据结构1
- 数据结构 1
- 数据结构1
- 数据结构 1
- 数据结构1
- 数据结构-1
- 数据结构1
- 数据结构1
- 数据结构-1
- 数据结构1
- 数据结构1
- 数据结构1
- (1): 数据结构
- #数据结构 1
- 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如 2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制
- 基于SuperSocket实现的WebSocket服务器 和Unity中使用Websocket
- idea2016中tomcat配置及运行
- Part 82 - Creating custom validation attribute in asp.net mvc
- SQLserver2008数据表的修改操作
- 数据结构1
- Maven+Nexus+Myeclipse集成
- Android 自定义View教程(一)
- python爬虫入门之爬取贴吧标题
- [JS]删除链表的重复结点2
- Android自定义View教程(二)
- VS2010连接MySQL数据库的平台搭建(C/C++)
- Android自定义View教程(三)
- 计算机视觉、机器学习相关领域论文和源代码大集合