第1章 线性.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数 据 结 构》 网上的一个贴子: 数据结构在软件项目中都有哪些应用呢? 如题,我做软件项目的时候一直没感觉数据结构在项目有什么用?今天去面试,面试官突然问我数据结构,我就回答了一句我不懂数据结构,然后就直接挂掉了! 各位能给我讲讲数据结构在软件项目中的应用么? 最好举个例子了 课程性质 数据结构是计算机专业的专业基础课 公共基础课、专业基础课、专业方向课、专业选修课 在教学计划中的地位:核心、承上启下 前导课:高等数学、离散数学、程序设计语言 后续课:数据库、操作系统、编译原理…… 属于武术中的“练功”科目 是IT行业的核心技术,特别是软件开发人员必须掌握的内功 各种认证考试 全国计算机等级考试,软件水平考试的必考科目 学习要求 循序渐进,切忌心浮气躁 提高课外学习的时间和内容 理解科学而不是背诵科学→读书 正确对待考试 作习题 华罗庚:“学数学不做习题等于入宝山而空返” 作实验 计算机学科是一门科学性与工程性并重的学科,表现为理论和实践紧密结合的特征。 成绩组成 平时成绩 20%:出勤+作业 实验成绩 20%:上机作业检查+报告 期末考试成绩 60% 课程设计 成绩:优、良、中、及格、不及格 1.1.1 案例实现过程 【案例说明】 顺序表的就地逆置就是利用原数据表所占用的内存空间将线性表(a1,a2,…,an)逆置为(an,an-1,…,a1),并且此处要求只使用一个元素的辅助空间。程序运行结果如图 1.1 所示。 内存物理图示: 【案例目的】 (1) 掌握线性表的顺序存储结构。 (2)掌握顺序表的基本运算并能灵活应用。 【技术要点】 (1) 先要设计和实现数据的计算机内存中的存储形式 (2) 空表或长度为 1 的表,不做任何处理。 (3) 表长大于或等于 2 时,做如下处理:设两个整型变量 i 和 j,分别指向顺序表的第 0个元素和尾元素。若 ij,首先交换 a[i]和 a[j],然后修改指针,i++和 j--,使它们分别指向顺序表的第 2 个元素和倒数第 2 个元素,依次类推,直到 i≥j 为止。 因为基本操作是对应元素的交换运算,假设顺序表的长度为 n,则需要进行 n/2 次交换,所以时间复杂度为 O(n)。 内存物理图示: 【代码及分析】 #define MAXSIZE 100 /*顺序表的最大长度*/ typedef int ElemType; /*ElemType 为顺序表元素的类型*/ typedef struct { ElemType data[MAXSIZE]; int length; /*顺序表的实际长度*/ }SqList; void Reverse_SqList(SqList *L) { int i,j,n,t; n=L-length; if(n==0||n==1) return; i=0; j=n-1; while(ij) { t=L-data[i]; L-data[i]=L-data[j]; L-data[j]=t; i++; j--; } } void Creat_SqList(SqList *L,int n) { int i; L-length=n; i=0; printf(\ninput %d data : ,n); while(in) { scanf(%d,L-data[i]); /*49 38 65 97 76 13 21*/ i++; } } void Print_SqList(SqList *L) { int i,n; n=L-length; i=0; printf(\noutput %d data : ,n); while(in) { printf(%d ,L-data[i]); i++; } } void main() {SqList L; int n; printf(\ninput length( n) : ); scanf(%d,n); Creat_SqList(L,n); Reverse_SqList(L); Print_SqList(L); } 1.1.2 应用扩展 已知顺序表中的元素以值递增的顺序排列,删除顺序表中所有值相同的多余元素,使操作后顺序表中所有元素的值均不相同。 /*删除有序顺序表中所有值相同的多

文档评论(0)

6358999 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档