西安文都考研官网_西安考研辅导班_考研培训机构_西安在职考研培训

029-68569100
文都服務時間:9:00~22:00
招考資訊
擇校擇專業
報考指南
考研政策
考研常識
招生簡章
考試大綱
在職考研
課程推薦
考研日歷
考研直播課
熱門院校解析
MBA特訓班
醫學碩士
藝術考研
備考指南
考研政治
考研英語
考研數學
聯考綜合
真題解析
圖書資料
英語圖書
數學圖書
政治圖書
專碩圖書
您所在的位置: 文都考研 > 備考 > 專業課指導 >

2019計算機考研:計算機數據結構核心考點解析

距2021年考研倒計時

  ?隊列和棧結構的概念理解

  棧是僅限制在表的一端進行插入和刪除運算的線性表,稱插入、刪除這一端為棧頂。表中無元素時為空棧。棧的修改是按后進先出的原則進行的。通常棧有順序棧和鏈棧兩種存儲結構。

  隊列是一種運算受限的線性表,插入在表的一端進行,而刪除在表的另一端進行,允許刪除的一端稱為隊頭,允許插入的一端稱為隊尾,隊列的操作原則是先進先出的。隊列也有順序存儲和鏈式存儲兩種存儲結構。

  ?線性表中單鏈表相關算法設計與實現

  一些基礎但又重要的單鏈表相關算法,如:

  1.打印單鏈表,void PrintList(List list); 使用一個指針遍歷所有鏈表節點。

  2.兩個升序鏈表,打印tarList中的相應元素,這些元素的序號由SeqList指定,void PrintLots(List tarList, List seqList); 使用兩個指針分別遍歷兩個鏈表,每次取出序列鏈表的一個序號后,根據該序號,到達目標鏈表指定節點。

  3.兩個升序鏈表的交集 ,List Intersect(List l1, List l2);

  4.兩個升序鏈表的并集 ,List Join(List l1, List l2);

  5.單鏈表就地置逆,void Reverse(List l); 使用三個指針表示前驅,當前和后繼節點,每次將當前節點的Next指向前驅節點,然后向后遍歷直到鏈表末尾。

  ?二叉樹的遍歷

  遍歷的過程就是把非線性結構的二叉樹中的結點排成一個線性序列的過程。

  二叉樹遍歷方法可分為兩大類,一類是“寬度優先”法,即從根結點開始,由上到下,從左往右一層一層的遍歷;另一類是“深度優先法”,即一棵子樹一棵子樹的遍歷。

  從二叉樹結構的整體看,二叉樹可以分為根結點,左子樹和右子樹三部分,只要遍歷了這三部分,就算遍歷了二叉樹。設D表示根結點,L表示左子樹,R表示右子樹,則DLR的組合共有6種,即DLR,DRL,LDR,LRD,RDL,RLD。若限定先左后右,則只有DLR,LDR,LRD三種,分別稱為先(前)序法(先根次序法),中序法(中根次序法,對稱法),后序法(后根次序法)。三種遍歷的遞歸算法如下:

  1.先序法(DLR)

  若二叉樹為空,則空操作,否則:訪問根結點,先序遍歷左子樹,先序遍歷右子樹。

  2.中序法(LDR)

  若二叉樹為空,則空操作,否則:中序遍歷左子樹,訪問根結點,中序遍歷右子樹.

  3.后序法(LRD)

  若二叉樹為空,則空操作,否則:后序遍歷左子樹,后序遍歷右子樹,訪問根結點。

  ?完全二叉樹中有關結點個數計算

  完全二叉樹的定義:深度為k,有n個結點的二叉樹當且僅當其每一個結點都與深度為k的滿二叉樹中編號從1至n的結點一一對應時,稱為完全二叉樹。

  完全二叉樹的葉子數為(n + 1) / 2取下整。

  ?森林與二叉樹之間的轉換以及轉換過程中結點之間的關系

  將一棵樹轉換為二叉樹的方法是:

  1.樹中所有相鄰兄弟之間加一條連線。

  2.對樹中的每個結點,只保留其與第一個孩子結點之間的連線,刪去其與其它孩子結點之間的連線。

  3.以樹的根結點為軸心,將整棵樹順時針旋轉一定的角度,使之結構層次分明。

  森林轉換為二叉樹的方法如下:

  1.將森林中的每棵樹轉換成相應的二叉樹。

  2.第一棵二叉樹不動,從第二棵二叉樹開始,依次把后一棵二叉樹的根結點作為前一棵二叉樹根結點的右孩子,當所有二叉樹連在一起后,所得到的二叉樹就是由森林轉換得到的二叉樹。

  樹和森林都可以轉換為二叉樹,二者的不同是:樹轉換成的二叉樹,其根結點必然無右孩子,而森林轉換后的二叉樹,其根結點有右孩子。將一棵二叉樹還原為樹或森林,具體方法如下:

  1.若某結點是其雙親的左孩子,則把該結點的右孩子、右孩子的右孩子、……都與該結點 的雙親結點用線連起來。

  2.刪掉原二叉樹中所有雙親結點與右孩子結點的連線。

  3.整理由1、2兩步所得到的樹或森林,使之結構層次分明。

  ?對無向連通圖特性的理解

  無向圖的每條邊,在頂點計算度的過程中,都要兩次參與計算(與邊兩關聯的2個頂點),因此所有頂點的度之和為偶數。

  具有n個頂點的無向連通圖,其邊數大于或等于n-1。

  在無向連通圖中,所有頂點的度數都有可能大于1。

  ?對m階B樹定義的理解

  一棵m階的B樹滿足下列條件:

  1. 每個結點至多有m棵子樹。

  2. 除根結點外,其它每個分支至少有m/2棵子樹。

  3. 根結點至少有兩棵子樹(除非B樹只有一個結點)。

  4. 所有葉結點在同一層上。B樹的葉結點可以看成一種外部結點,不包含任何信息。

  5. 有j個孩子的非葉結點恰好有j-1個關鍵碼,關鍵碼按遞增次序排列。結點中包含的信息為 ∶ (p0,k1,p1,k2,p2, … ,kj-1,pj-1)。

  其中,ki為關鍵碼,且滿足ki

  ?帶權圖的最短路徑算法及應用

  迪杰斯特拉(Dijkstra)算法求單源最短路徑,算法思想:

  設S為最短距離已確定的頂點集(看作紅點集),V-S是最短距離尚未確定的頂點集(看作藍點集)。

  1.初始化:初始化時,只有源點s的最短距離是已知的(SD(s)=0),故紅點集S={s},藍點集為空。

  2.重復以下工作,按路徑長度遞增次序產生各頂點最短路徑,在當前藍點集中選擇一個最短距離最小的藍點來擴充紅點集,以保證算法按路徑長度遞增的次序產生各頂點的最短路徑。當藍點集中僅剩下最短距離為∞的藍點,或者所有藍點已擴充到紅點集時,s到所有頂點的最短路徑就求出來了。

  注意:①若從源點到藍點的路徑不存在,則可假設該藍點的最短路徑是一條長度為無窮大的虛擬路徑。②從源點s到終點v的最短路徑簡稱為v的最短路徑;s到v的最短路徑長度簡稱為v的最短距離,并記為SD(v)。

  ?堆排序

  大根堆的定義:完全二叉樹,任一非葉子結點都大于等于它的孩子,也就是說根結點是最大的。而且顯然大根堆的任一棵子樹也是大根堆。

  堆排序的基本思想:記錄區的分為無序區和有序區前后兩部分;用無序區的數建大根堆,得到的根(最大的數)和無序區的最后一個數交換,也就是將該根歸入有序區的最前端;如此重復下去,直至有序區擴展至整個記錄區。

  具體操作可按下面步驟實現:

  1.建大根堆

  2.交換根和無序區最后一個數

  3.重建大根堆,因為交換只是使根改變了,所以左右子樹依然分別是大根堆。

  4.比較根,左子樹的根和右子樹的根,如果根最大,則無須再作調整,樹已經是大根堆了;如果左子樹的根最大,交換它與根,再遞歸調整左子樹;如果右子樹的根最大,交換它與根,再遞歸調整右子數。

  5.遞歸調整到葉子的時候,樹就是大根堆了。

  ?各類排序算法的特點及比較

  幾種主要的排序算法:冒泡排序、選擇排序、插入排序、快速排序、歸并排序、Shell排序、堆排序等。

  冒泡排序算法思想:將待排序的元素看作是豎著排列的“氣泡”,較小的元素比較輕,從而要往上浮。在冒泡排序算法中我們要對這個“氣泡”序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,并時刻注意兩個相鄰的元素的順序是否正確。如果發現兩個相鄰元素的順序不對,即“輕”的元素在下面,就交換它們的位置。

  選擇排序算法思想:選擇排序的基本思想是對待排序的記錄序列進行n-1遍的處理,第i遍處理是將L[i..n]中最小者與L[i]交換位置。這樣,經過i遍處理之后,前i個記錄的位置已經是正確的了。

  插入排序算法思想:經過i-1遍處理后,L[1..i-1]己排好序。第i遍處理僅將L[i]插入L[1..i-1]的適當位置,使得L[1..i]又是排好序的序列。

  快速排序算法思想:快速排序的基本思想是基于分治策略的。對于輸入的子序列L[p..r],如果規模足夠小則直接進行排序,否則分三步處理:

  1. 分解(Divide):將輸入的序列L[p..r]劃分成兩個非空子序列L[p..q]和L[q+1..r],使L[p..q]中任一元素的值不大于L[q+1..r]中任一元素的值。

  2. 遞歸求解(Conquer):通過遞歸調用快速排序算法分別對L[p..q]和L[q+1..r]進行排序。

  3. 合并(Merge):由于對分解出的兩個子序列的排序是就地進行的,所以在L[p..q]和L[q+1..r]都排好序后不需要執行任何計算L[p..r]就已排好序。

  歸并排序算法思想:分而治之(divide - conquer)。每個遞歸過程涉及三個步驟:1.分解,把待排序的n個元素的序列分解成兩個子序列,每個子序列包括 n/2 個元素。2. 治理,對每個子序列分別調用歸并排序MergeSort,進行遞歸操作。3. 合并,合并兩個排好序的子序列,生成排序結果。

  Shell排序算法思想:算法先將要排序的一組數按某個增量d分成若干組,每組中記錄的下標相差d.對每組中全部元素進行排序,然后再用一個較小的增量對它進行,在每組中再進行排序。當增量減到1時,整個要排序的數被分成一組,排序完成。

  堆排序算法思想:用大根堆排序的基本思想:

  1.先將初始文件R[1..n]建成一個大根堆,此堆為初始的無序區。

  2.再將關鍵字最大的記錄R[1](即堆頂)和無序區的最后一個記錄R[n]交換,由此得到新的無序區R[1..n-1]和有序區R[n],且滿足R[1..n-1].keys≤R[n].key。

  3. 由于交換后新的根R[1]可能違反堆性質,故應將當前無序區R[1..n-1]調整為堆。

院校專業選擇指導

立即領取

稍后會有專業課老師給您回電,請保持電話暢通

各地文都考研

主站蜘蛛池模板: 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | 聚丙烯酰胺PAM-聚合氯化铝PAC-絮凝剂-河南博旭环保科技有限公司 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | 直流大电流电源,燃料电池检漏设备-上海政飞 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 工作服定制,工作服定做,工作服厂家-卡珀职业服装(苏州)有限公司 | 自清洗过滤器-全自动自清洗过反冲洗过滤器 - 中乂(北京)科技有限公司 | 北京浩云律师事务所-企业法律顾问_破产清算等公司法律服务 | 浙江皓格药业有限公司| 蔡司三坐标-影像测量机-3D扫描仪-蔡司显微镜-扫描电镜-工业CT-ZEISS授权代理商三本工业测量 | 网站建设-临朐爱采购-抖音运营-山东兆通网络科技 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 薪动-人力资源公司-灵活用工薪资代发-费用结算-残保金优化-北京秒付科技有限公司 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | 汕头市盛大文化传播有限公司,www.11400.cc| 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 贵州自考_贵州自学考试网| 福州仿石漆加盟_福建仿石漆厂家-外墙仿石漆加盟推荐铁壁金钢(福建)新材料科技有限公司有保障 | 耐酸碱泵-自吸耐酸碱泵型号「品牌厂家」立式耐酸碱泵价格-昆山国宝过滤机有限公司首页 | 橡胶接头_橡胶软接头_套管伸缩器_管道伸缩器厂家-巩义市远大供水材料有限公司 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 家乐事净水器官网-净水器厂家「官方」| EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 商用绞肉机-熟肉切片机-冻肉切丁机-猪肉开条机 - 广州市正盈机械设备有限公司 | 国标白水泥,高标号白水泥,白水泥厂家-淄博华雪建材有限公司 | 岩石钻裂机-液压凿岩机-劈裂机-挖改钻_湖南烈岩科技有限公司 | 郑州墨香品牌设计公司|品牌全案VI设计公司 | 防爆电机_ybx3系列电机_河南省南洋防爆电机有限公司 | LED显示屏_LED屏方案设计精准报价专业安装丨四川诺显科技 | 智能风向风速仪,风速告警仪,数字温湿仪,综合气象仪(气象五要素)-上海风云气象仪器有限公司 | ICP备案查询_APP备案查询_小程序备案查询 - 备案巴巴 | 中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折! | 广州云仓代发-昊哥云仓专业电商仓储托管外包代发货服务 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 压力喷雾干燥机,喷雾干燥设备,柱塞隔膜泵-无锡市闻华干燥设备有限公司 | 并离网逆变器_高频UPS电源定制_户用储能光伏逆变器厂家-深圳市索克新能源 |