数据结构(一)数据结构算法与顺序表
来源:互联网 发布:js 数字转化为excel列 编辑:程序博客网 时间:2024/05/16 10:36
一、数据结构与顺序表
+理解数据结构与算法
+掌握顺序表的操作
数据结构 是指相互之间有一定联系的数据元素的集合,元素之间的相互联系 称为 逻辑结构。
数据元素之间的逻辑结构分为:
集合 线性 树形 网状结构
无序 一条线 Win资源管理器 拓扑
数据结构的研究:
1、数据的逻辑结构
逻辑关系的描述,独立于计算机的。
分为:线性(线性表、栈、队列)和非线性(树形结构、网状结构)
2、数据的存储结构
分为:顺序存储、链式存储、散列表(哈希)、索引表(目录)
3、数据的运算
分为:增加、删除、修改、查找、排序
算法 是对特定问题求解方法的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。
描述算法的两个参数:
时间复杂度:基本操作重复执行n次 T(n)=0(f(n))
空间复杂度:运行时所需要的存储空间的大小的质量 S(n)=0(f(n))
算法的要求:
正确性、可读性、健壮性、通用性、效率与存储量需求
================================================================================
线性表:
由 n(n>0)个元素组成
n=0 空表
n>0 讲非空线性表记为 a0 a1 a2 a(n-1)
a0为首节点 a(n-1)尾节点
顺序表:线性表的节点按照逻辑顺序依次存放在一组地址连续的存储单元,用这个方法存储的线性表为顺序表
两个最常见的操作:存数据和取数据
特点:
1、物理顺序和逻辑顺序是一致的
2、数据之间的关系,可通过物理关系体现
操作:
初始化顺序表
在指定位置插入一个元素
实现步骤:
1、检查顺序表是否已满
2、插入的位置i是否合法(是否越界)
3、将现行表L中的第i个元素至第n个结点后移一个位置
4、将结点e插入到结点a(i-1)之后(其实就是第i个位置)
5、线性表长度+1
在指定位置删除一个元素
实现步骤:
1、检查顺序表是否为空
2、检查删除位置i是否合法
3、将线性表L中的第i+1个至第n个结点依次向前移动一个位置
4、线性表长度-1
顺序表总结:
1、插入或删除一个数据元素时,时间主要耗费在移动元素上,而移动元素的个数取决于插入或删除元素的位置
2、空间不能充分利用,扩展能力较差
3、若线性表的主要操作时进行查找及存取表中任一个元素,插入和删除操作较少时,采用顺序表存储结构为宜
作业:
1、从文件中读取一个顺序表的数据,对顺序表中的数据进行添加、删除、修改等操作,然后再保存到原文件中,每个功能编写一个函数,由mian函数调用‘
2、合并两个顺序表,需要将其中一个表的数据连接到另外一个表的后面,需要考虑内存溢出的情况。
- 数据结构(一)数据结构算法与顺序表
- 数据结构与算法(2)顺序表
- 数据结构与算法--顺序表
- Java与数据结构(一) 顺序表
- 数据结构与算法(一)
- 数据结构与算法(一)
- 数据结构与算法(一)
- 数据结构与算法(一)
- 数据结构与算法(一)
- 【数据结构与算法之查找算法一】顺序查找
- 数据结构与算法系列---顺序表
- 算法与数据结构之一------顺序表
- Java实现数据结构与算法-顺序表
- 【数据结构与算法分析】顺序表
- 数据结构与算法(4)顺序栈
- 数据结构与算法(9)顺序查找
- 数据结构(一):顺序表
- 数据结构一顺序表
- 分区变成RAW格式,万幸恢复出数据
- 那一日的思念,望穿秋水
- 苹果推送通知服务(APNs)编程
- WideCharToMultiByte和MultiByteToWideChar函数的用法
- MacOS X服务管理
- 数据结构(一)数据结构算法与顺序表
- 十六进制与字符串互转
- LVS 连接数
- Android Monkey 命令行工具
- 绝对值等于自己的数有两个,0 和最小的负数?
- 超完整省市县3级完整SQL及完整民族
- dblink oracle -01017 ora -02063
- My First Plug-in - Inventor API .NET 开发从0开始-课程1
- 我只是一个卑微的小丑,被这个世界抛弃在角落