- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[IT认证]数据结构基本知识
数据结构基础知识 熟识数据结构相关的概念、知识内容 熟记数据结构的基本操作及相应的代码实现 理解数据结构的逻辑结构,能根据题目要求选择合适的数据结构 掌握基本操作及数据结构的基本应用,熟练基本应用的程序设计 ⑶后序遍历 后序遍历的规则如下: 若二叉树为空,则退出;否则 ⑴后序遍历左子树; ⑵后序遍历右子树; ⑶访问处理根结点; 若后序遍历上图中的二叉树,可以得到如下的后序序列 d h i e b f g c a 五)、由二叉树的两种遍历顺序确定树结构 遍历二叉树(如下图)有三种规则: 前序遍历:根—左子树—右子树; 中序遍历:左子树—根—右子树; 后序遍历:左子树—右子树—根; 2、(NOIP7)已知一棵二叉树的结点名为大写英文字母,其中序与后序遍历的顺序分别为: 中序遍历:CBGEAFHDIJ 后序遍历:CGEBHFJIDA 求该二叉树的先序遍历的顺序为: 1、给出一棵二叉树的先序遍历:ABCDEFGH中序遍历:CBEDAGHF画出此二叉树并写出后序遍历结果。 [石子合并问题] 有n堆石子,每堆有一个重量,每次把2堆石子合并成1堆,付出的代价为这两堆石子的重量之和,如果把这n堆石子最后合并成1堆石子,怎样合并才能使付出的代价最小,求出最小的代价. 六)、最优二叉树(哈夫曼树) 显然图(D)所示的合并方法付出的代价最小:54 5*2+(2+4)*3+(6+7)*2=54 例如n=5,重量 分别为7、5、2、4、6。 2 4 6 5 11 6 7 13 24 (D)L=6+11+13+24=54 1、最优二叉树的定义 在具有n个带权叶结点的二叉树中,使所有叶结点的带权路径长度之和(即二叉树的带权路径长度)为最小的二叉树,称为最优二叉树(又称最优搜索树或哈夫曼树),即最优二叉树使 (wk—第k个叶结点的权值;pk—第k个叶结点的带权路径长度)达到最小。 2、最优二叉树的构造方法 假定给出n个结点ki(i=1‥n),其权值分别为wi(i=1‥n)。要构造以此n个结点为叶结点的最优二叉树,其构造方法如下: 首先,将给定的n个结点构成n棵二叉树的集合F={T1,T2,……,Tn}。其中每棵二叉树Ti中只有一个权值为wi的根结点ki,其左、右子树均为空。然后做以下两步 ⑴在F中选取根结点权值最小的两棵二叉树作为左右子树,构造一棵新的二叉树,并且置新的二叉树的根结点的权值为其左、右子树根结点的权值之和; ⑵在F中删除这两棵二叉树,同时将新得到的二叉树加入F中; 重复⑴、⑵,直到在F中只含有一棵二叉树为止。这棵二叉树便是最优二叉树。 ?以上构造最优二叉树的方法称为哈夫曼(huffmann)算法。 例如:给定五个结点k1,k2,k3,k4,k5,其权值分别为16、2、18、16、23。构造最优二叉树的过程如下: ⑴构造初始集合F,F中各二叉树根结点的权值分别为16,2,18,16,23(如下图): ⑵以具有权值16及2的根结点的两棵二叉树为左、右子树,构造一棵根权值为18的新二叉树,并从F中删去这两棵二叉树(如下图): ⑶以同样的方法,得到一个新二叉树的集合F,其根结点的权值分别为23,18,34(如下图): ⑷ 又得到一个新二叉树的集合F,其根结点的权值分别为34,41(如下图): * * 一、栈 1、栈的定义 栈是一种线性表,对它的插入和删除都限制地表的同一端进行。这一端叫做栈的“顶”,另一端则叫做栈的“底”。 特点:后进先出(LIFO)、或者先进后出(FILO) 通常栈可以用顺序的方式存储(数组),分配一块连续的存储区域存放栈中的表目,并用一个变量t指向当前栈顶(如下图)。 假设栈中表目数的上限为m,所有表目都具有同一类型stype,则可以用下列方式定义栈: Const m=栈表目数的上限; Var s: array[1‥m] of stype ;{栈} t: integer; {栈顶指针,初始值为0} 注意:不一定进栈结束后才出栈,进出栈可交叉进行。 2、栈的基本操作 栈的基本操作包括初始化(init)、进栈(push)、出栈(pop)和读取栈顶元素(top)四种。 1) 过程init(s,t) procedure init; begin t:=0; end; 2)、过程push(x)—往栈s中压入一个值为x的数据: procedure push( x:stype)
您可能关注的文档
- V带轮设计ug二次开发.doc
- web设计CSS书写规范.doc
- Win2003+IIS+Mysql+PHP+Zend环境调试.doc
- x62w型万能铣床控制系统改造.doc
- zhao第一章数制和码制.ppt
- [IT认证]!JSTL-自定义标记.ppt
- [IT认证]0304第二章例题详解及实验指导.doc
- [IT认证]03_ADS开发工具的基本使用.ppt
- [IT认证]04信息安全竞赛培训_Windows2008安全管理.ppt
- [IT认证]06function.ppt
- 绿电2022年系列报告之一:业绩利空释放,改革推动业绩反转和确定成长.docx
- 化学化工行业数字化转型ERP项目企业信息化规划实施方案.pdf
- 【研报】三部门绿电交易政策解读:溢价等额冲抵补贴,绿电交易规模有望提升---国海证券.docx
- 中国债券市场的未来.pdf
- 绿电制绿氢:实现“双碳”目标的有力武器-华创证券.docx
- 【深度分析】浅析绿证、配额制和碳交易市场对电力行业影响-长城证券.docx
- 绿电:景气度+集中度+盈利性均提升,资源获取和运营管理是核心壁垒.docx
- 节电产业与绿电应用年度报告(2022年版)摘要版--节能协会.docx
- 2024年中国人工智能系列白皮书-智能系统工程.pdf
- 如何进行行业研究 ——以幼教产业为例.pdf
最近下载
- 大楼维修改造工程投标方案(技术标367页).docx
- 高频电刀的使用(参考).ppt
- AQT3034—2022化工过程安全管理导则.pdf VIP
- 省考公务员-黑龙江-行政职业能力测验-第一章数量关系-第四节行程问题-.docx VIP
- DB23_T(1621.10-1621.14)-2015:黑龙江省建设工程施工操作技术规程(三).pdf VIP
- 整体法-隔离法-动态平衡题型练.doc VIP
- 2021年全国乙卷(生物)高考真题.pdf VIP
- 论中小企业会计核算重要性-来源:财会学习(第2020027期)-《中国建材报》社、中国会计学会建材分会.pdf VIP
- 2022年高考真题全国乙卷(文综历史)真题(有答案).pdf VIP
- 浅谈机务维修作风建设 蔡恒志.doc VIP
文档评论(0)