欢迎来到启牛文库网! | 帮助中心 知识改变命运,上传文档,获取收益!上传文档QQ群:387200517 — 邀人有奖!
启牛文库网
全部分类
  • 办公文档>
    办公文档
    总结报告 心得体会 工作范文 工作计划 解决方案 会议纪要 述职报告 事务文书 模板表格 调研报告 经验事迹 规章制度 招标投标 理论文章 礼仪庆典 活动策划 求职简历 演讲稿致辞 Excle表格 其它办公文档
  • 教育资料>
    教育资料
    幼儿教育 小学教育 初中教育 高中教育 大学教育 考研资料 教学教案 教学课件 教学研究 教育范文 考试资料 小学作文 初中作文 高中作文 精品作文 培训教程 培训教材 职业教育 成人自考 外语文库 认证考试 手抄板报 其它教育文档
  • PPT专区>
    PPT专区
    PPT模板 PPT素材 总结计划 企业培训 教育课件 述职竞聘 党政军警 商业策划 融资路演 高端商务 工作办公 政府汇报 医学医疗 毕业答辩 节日庆典 演讲培训 餐饮美食 唯美清新 中国风格 行业数据 旅游生活 其它PPT模板
  • 建筑工程>
    建筑工程
    建筑规范 建筑设计 建筑施工 工程图纸 工程造价 水利工程 路桥工程 园林设计 室内设计 结构设计 电力电气 暖通空调 勘察测绘 给排水 钢结构 房地产 其它工程文档
  • 企业管理>
    企业管理
    企业文化 薪酬管理 合同协议 人力资源 绩效管理 创业孵化 招商加盟 商业计划 市场营销 企划宣传 资本运营 财务报表 商务礼仪 项目管理 其它管理文档
  • 行业资料>
    行业资料
    标准规范 人文社科 法律文献 工业制造 IT网络 医药卫生 农林牧渔 自然科学 金融证券 旅游娱乐 食品饮料 家居家电 其它行业资料
  • 生活休闲>
    生活休闲
    科普知识 励志创业 婚嫁育儿 家居装修 户外运动 美食烹饪 摄影摄像 文化艺术 网络生活 服装配饰 星座运势 宗教风水 美容塑身 娱乐时尚 保健养生 两性情感 时政新闻 社会民生 琴棋书画 游戏攻略 留学签证 手工制作 滑稽幽默 宠物驯养 其它百科知识
  • 百家杂谈>
    百家杂谈
  • ImageVerifierCode 换一换
    首页 启牛文库网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构c语言版知识点概括.doc

    • 资源ID:1096559       资源大小:109KB        全文页数:12页
    • 资源格式: DOC        下载积分:2积分
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要2积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    开通VIP享超值特权
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构c语言版知识点概括.doc

    1、数据结构知识点概括数据结构知识点概括 第一章第一章 概概 论论 数据就是指能够被计算机识别、存储和加工处理的信息的载体。数据元素是数据的基本单位,可以由若干个数据项组成。数据项是具有独立含义的最小标识单位。数据结构的定义:逻辑结构:从逻辑结构上描述数据,独立于计算机。线性结构:一对一关系。线性结构:多对多关系。存储结构:是逻辑结构用计算机语言的实现。顺序存储结构:如数组。链式存储结构:如链表。索引存储结构:稠密索引:每个结点都有索引项。稀疏索引:每组结点都有索引项。散列存储结构:如散列表。数据运算。对数据的操作。定义在逻辑结构上,每种逻辑结构都有一个运算集合。常用的有:检索、插入、删除、更新、

    2、排序。数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。结构类型:由用户借助于描述机制定义,是导出类型。抽象数据类型 ADT:是抽象数据的组织和与之的操作。相当于在概念层上描述问题。优点是将数据和操作封装在一起实现了信息隐藏。程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。算法取决于数据结构。算法是一个良定义的计算过程,以一个或多个值输入,并以一个或多个值输出。评价算法的好坏的因素:算法是正确的;执行算法的时间;执行算法的存储空间(主要是辅助存储空间);算法易于理解、编码、调试。时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模 n 的函数。渐近时间复杂度:

    3、是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。时间复杂度按数量级递增排列依次为:常数阶 O(1)、对数阶 O(log2n)、线性阶O(n)、线性对数阶 O(nlog2n)、平方阶 O(n2)、立方阶 O(n3)、k 次方阶 O(nk)、指数阶 O(2n)。空间复杂度:是某个算法的空间耗费,它是该算法所求解问题规模 n 的函数。算法的时间复杂度和空间复杂度合称算法复杂度。第二章第二章 线性表线性表 线性表是由 n0 个数据元素组成的有限序列。n=0 是空表;非空

    4、表,只能有一个开始结点,有且只能有一个终端结点。线性表上定义的基本运算:构造空表:Initlist(L)求表长:Listlength(L)取结点:GetNode(L,i)查找:LocateNode(L,x)插入:InsertList(L,x,i)删除:Delete(L,i)顺序表是按线性表的逻辑结构次序依次存放在一组地址连续的存储单元中。在存储单元中的各元素的物理位置和 逻辑结构中各结点相邻关系是一致的。地址计算:LOCa(i)=LOCa(1)+(i-1)*d;(首地址为 1)在顺序表中实现的基本运算:插入:平均移动结点次数为 n/2;平均时间复杂度均为 O(n)。删除:平均移动结点次数为(n

    5、-1)/2;平均时间复杂度均为 O(n)。线性表的链式存储结构中结点的逻辑次序和物理次序不一定相同,为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还存储了其后继结点的地址信息(即指针或链)。这两部分信息组成链表中的结点结构。一个单链表由头指针的名字来命名。单链表运算:建立单链表头插法:s-next=head;head=s;生成的顺序与输入顺序相反。平均时间复杂度均为 O(n)。尾插法:head=rear=null;if(head=null)head=s;else r-next=s;r=s;平均时间复杂度均为 O(n)加头结点的算法:对开始结点的操作无需特殊处理,统一了空表和非空表。查

    6、找按序号:与查找位置有关,平均时间复杂度均为 O(n)。按值:与输入实例有关,平均时间复杂度均为 O(n)。插入运算:p=GetNode(L,i-1);s-next=p-next;p-next=s;平均时间复杂度均为 O(n)删除运算:p=GetNode(L,i-1);r=p-next;p-next=r-next;free(r);平均时间复杂度均为 O(n)单循环链表是一种首尾相接的单链表,终端结点的指针域指向开始结点或头结点。链表终止条件是以指针等于头指针或尾指针。采用单循环链表在实用中多采用尾指针表示单循环链表。优点是查找头指针和尾指针的时间都是 O(1),不用 遍历整个链表。双链表就是双

    7、向链表,就是在单链表的每个结点里再增加一个指向其直接前趋的指针域 prior,形成两条不同方 向的链。由头指针 head 惟一确定。双链表也可以头尾相链接构成双(向)循环链表。双链表上的插入和删除时间复杂度均为 O(1)。顺序表和链表的比较:基于空间:顺序表的存储空间是静态分配,存储密度为 1;适于线性表事先确定其大小时采用。链表的存储空间是动态分配,存储密度1;适于线性表长度变化大时采用。基于时间:顺序表是随机存储结构,当线性表的操作主要是查找时,宜采用。以插入和删除操作为主的线性表宜采用链表做存储结构。若插入和删除主要发生在表的首尾两端,则宜采用尾指针表示的单循环链表。第三章第三章 栈和队

    8、列栈和队列 栈(Stack)是仅限制在表的一端进行插入和删除运算的线性表,称插入、删除这一端为栈顶,另一端称为栈底。表中无元素时为空栈。栈的修改是按后进先出的原则进行的,我们又称栈为 LIFO 表(Last In First Out)。通常栈有 顺序栈和链栈两种存储结构。栈的基本运算有六种:构造空栈:InitStack(S)判栈空:StackEmpty(S)判栈满:StackFull(S)进栈:Push(S,x)退栈:Pop(S)取栈顶元素:StackTop(S)在顺序栈中有“上溢”和“下溢”的现象。“上溢”是栈顶指针指出栈的外面是出错状态。“下溢”可以表示栈为空栈,因此用来作为控制转移的条件

    9、。顺序栈中的基本操作有六种:构造空栈 判栈空 判栈满 进栈 退栈 取栈顶元素 链栈则没有上溢的限制,因此进栈不要判栈满。链栈不需要在头部附加头结点,只要有链表的头指针就可以了。链栈中的基本操作有五种:构造空栈 判栈空 进栈 退栈 取栈顶元素 队列(Queue)是一种运算受限的线性表,插入在表的一端进行,而删除在表的另一端进行,允许删除的一端称 为队头(front),允许插入的一端称为队尾(rear),队列的操作原则是先进先出的,又称作 FIFO 表(First In First Out).队列也有顺序存储和链式存储两种存储结构。队列的基本运算有六种:置空队:InitQueue(Q)判队空:Qu

    10、eueEmpty(Q)判队满:QueueFull(Q)入队:EnQueue(Q,x)出队:DeQueue(Q)取队头元素:QueueFront(Q)顺序队列的“假上溢”现象:由于头尾指针不断前移,超出向量空间。这时整个向量空间及队列是空的却产生了“上 溢”现象。为了克服“假上溢”现象引入循环向量的概念,是把向量空间形成一个头尾相接的环形,这时队列称循环队列。判定循环队列是空还是满,方法有三种:一种是另设一个布尔变量来判断;第二种是少用一个元素空间,入队时先测试(rear+1)%m=front)?满:空;第三种就是用一个计数器记录队列中的元素的总数。队列的链式存储结构称为链队列,一个链队列就是一

    11、个操作受限的单链表。为了便于在表尾进行插入(入队)的 操作,在表尾增加一个尾指针,一个链队列就由一个头指针和一个尾指针唯一地确定。链队列不存在队满和上溢 的问题。在链队列的出队算法中,要注意当原队中只有一个结点时,出队后要同进修改头尾指针并使队列变空。第四章第四章 串串 串是零个或多个字符组成的有限序列。空串:是指长度为零的串,也就是串中不包含任何字符(结点)。空白串:指串中包含一个或多个空格字符的串。在一个串中任意个连续字符组成的子序列称为该串的子串,包含子串的串就称为主串。子串在主串中的序号就是指子串在主串中首次出现的位置。空串是任意串的子串,任意串是自身的子串。串分为两种:串常量在程序中

    12、只能引用不能改变;串变量的值可以改变。串的基本运算有:求串长 strlen(char*s)串复制 strcpy(char*to,char*from)串联接 strcat(char*to,char*from)串比较 charcmp(char*s1,char*s2)字符定位 strchr(char*s,charc)串是特殊的线性表(结点是字符),所以串的存储结构与线性表的存储结构类似。串的顺序存储结构简称为顺序串。顺序串又可按存储分配的不同分为:静态存储分配:直接用定长的字符数组来定义。优点是涉及串长的操作速度 快,但不适合插入、链接操作。动态存储分配:是在定义串时不分配存储空间,需要使用时按所需

    13、串的长度分配存储单元。串的链式存储就是用单链表的方式存储串值,串的这种链式存储结构简称为链串。链串与单链表的差异只是它的 结 点数据域为单个字符。为了解决“存储密度”低的状况,可以让一个结点存储多个字符,即结点的大小。顺序串上子串定位的运算:又称串的“模式匹配”或“串匹配”,是在主串中查找出子串出现的位置。在串匹配中,将主串称为目标(串),子串称为模式(串)。这是比较容易理解的,串匹配问题就是找出给定模式串 P 在给定目标串 T 中首次出现的有效位移或者是全部有效位移。最坏的情况下时间复杂度是 O(n-m+1)m),假如 m 与 n同阶 的话则它是 O(n2)。链串上的子串定位运算位移是结点地

    14、址而不是整数 第五章第五章 多维数组多维数组 数组一般用顺序存储的方式表示。存储的方式有:行优先顺序,也就是把数组逐行依次排列。PASCAL、C 列优先顺序,就是把数组逐列依次排列。FORTRAN 地址的计算方法:按行优先顺序排列的数组:LOCa(ij)=LOCa(11)+(i-1)*n+(j-1)*d.按列优先顺序排列的数组:LOCa(ij)=LOCa(11)+(j-1)*n+(i-1)*d.矩阵的压缩存储:为多个相同的非零元素分配一个存储空间;对零元素不分配空间。特殊矩阵的概念:所谓特殊矩阵是指非零元素或零元素分布有一定规律的矩阵。稀疏矩阵的概念:一个矩阵中若其非零元素的个数远远小于零元素

    15、的个数,则该矩阵称为稀疏矩阵。特殊矩阵的类型:对称矩阵:满足 a(ij)=a(ji)。元素总数 n(n+1)/2.I=max(i,j),J=min(i,j),LOCa(ij)=LOC(sa0)+(I*(I+1)/2+J)*d.三角矩阵:上三角阵:k=i*(2n-i+1)/2+j-i,LOCa(ij)=LOC(sa0)+k*d.下三角阵:k=i*(i+1)/2+j,LOCa(ij)=LOC(sa0)+k*d.对角矩阵:k=2i+j,LOCa(ij)=LOC(sa0)+k*d.稀疏矩阵的压缩存储方式用三元组表把非零元素的值和它所在的行号列号做为一个结点存放在一起,用这些结点组成的一个线性表来表示。

    16、但这种压缩存储方式将失去随机存储功能。加入行表记录每行的非零元素在三元组表中的 起始位置,即带行表的三元组表。第六章第六章 树树 树是 n 个结点的有限集合,非空时必须满足:只有一个称为根的结点;其余结点形成 m 个不相交的子集,并称 根的子树。根是开始结点;结点的子树数称度;度为 0 的结点称叶子(终端结点);度不为 0的结点称分支结点(非终端结 点);除根外的分支结点称内部结点;有序树是子树有左,右之分的树;无序树是子树没有左,右之分的树;森林是 m 个互不相交的树的集合;树的四种不同表示方法:树形表示法;嵌套集合表示法;凹入表示法广义表表示法。二叉树的定义:是 n0 个结点的有限集,它是空集(n=0)或由一个根结点及两棵互不相交的分别称作这个根的 左子树和右子树的二叉树组成。二叉树不是树的特殊情形,与度数为 2 的有序树不同。二叉树的 4 个重要性质:二叉树上第 i 层上的结点数目最多为 2(i-1)(i1)。;深度为 k 的二叉树至多有(2k)-1 个结点(k1);在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1;具有 n 个结点的完全二叉树的


    注意事项

    本文(数据结构c语言版知识点概括.doc)为本站会员主动上传,启牛文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读启牛文库网的“版权提示”【网址:https://www.wojuba.com/h-37.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    启牛文库网为“电子文档交易平台”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。

    本站是网络服务平台方,若您的权利被侵害,请立刻联系我们并提供证据,侵权客服QQ:709425133 欢迎举报。

    ©2012-2025 by www.wojuba.com. All Rights Reserved.

    经营许可证编号:京ICP备14006015号