必胜高考网_全国高考备考和志愿填报信息平台

必勝高考網 > 計算機類 > 計算機等級 > 資訊 >

2015計算機二級《MSOffice》輔導:數據結構與算法

時間: 家輝2 資訊

  1.1算法

  1.算法的基本概念

  (1)概念:算法是指一系列解決問題的清晰指令。

  (2)4個基本特征:可行性、確定性、有窮性、擁有足夠的情報。

  (3)兩種基本要素:對數據對象的運算和操作、算法的控制結構(運算和操作時問的順序)。

  (4)設計的基本方法:列舉法、歸納法、遞推法、遞歸法、減半遞推技術和回溯法。

  2.算法的復雜度

  (1)算法的時間復雜度:執行算法所需要的計算工作量。

  (2)算法的空間復雜度:執行算法所需的內存空間。

  1.2數據結構的基本概念

  數據結構指相互有關聯的數據元素的集合,即數據的組織形式。其中邏輯結構反映數據元素之間邏輯關系;存儲結構為數據的邏輯結構在計算機存儲空間中的存放形式,有順序存儲、鏈式存儲、索引存儲和散列存儲4種方式。

  數據結構按各元素之間前后件關系的復雜度可劃分為:

  (1)線性結構:有且只有一個根節點,且每個節點最多有一個直接前驅和一個直接后繼的非空數據結構。

  (2)非線性結構:不滿足線性結構的數據結構。

  1.3線性表及其順序存儲結構

  1.線性表的基本概念

  線性結構又稱線性表,線性表是最簡單也是最常用的一種數據結構。

  2.線性表的順序存儲結構

  •元素所占的存儲空間必須連續。

  •元素在存儲空間的位置是按邏輯順序存放的。

  3.線性表的插入運算

  在第i個元素之前插入一個新元素的步驟如下:

  步驟一:把原來第n個節點至第i個節點依次往后移一個元素位置。

  步驟二:把新節點放在第i個位置上。

  步驟三:修正線性表的節點個數。

  在最壞情況下,即插入元素在第一個位置,線性表中所有元素均需要移動。

  4.線性表的刪除運算

  刪除第i個位置的元素的步驟如下:

  步驟一:把第i個元素之后不包括第i個元素的n-i個元素依次前移一個位置;

  步驟二:修正線性表的結點個數。

   1.4棧和隊列

  1.棧及其基本運算

  (1)基本概念:棧是一種特殊的線性表,其插入運算與刪除運算都只在線性表的一端進行,也被稱為“先進后出”表或“后進先出”表。

  •棧頂:允許插入與刪除的一端。

  •棧底:棧頂的另一端。

  •空棧:棧中沒有元素的棧。

  (2)特點。

  •棧頂元素是最后被插入和最早被刪除的元素。

  •棧底元素是最早被插入和最后被刪除的元素。

  •棧有記憶作用。

  •在順序存儲結構下,棧的插入和刪除運算不需移動表中其他數據元素。

  •棧頂指針top動態反映了棧中元素的變化情況

  (3)順序存儲和運算:入棧運算、退棧運算和讀棧頂運算。

  2.隊列及其基本運算

  (1)基本概念:隊列是指允許在一端進行插入,在另一端進行刪除的線性表,又稱“先進先出”的線性表。

  •隊尾:允許插入的一端,用尾指針指向隊尾元素。

  •排頭:允許刪除的一端,用頭指針指向頭元素的前一位置。

  (2)循環隊列及其運算。

  所謂循環隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環狀空間。

  入隊運算是指在循環隊列的隊尾加入一個新元素。

  當循環隊列非空(s=1)且隊尾指針等于隊頭指針時,說明循環隊列已滿,不能進行人隊運算,這種情況稱為“上溢”。

  退隊運算是指在循環隊列的隊頭位置退出一個元素并賦給指定的變量。首先將隊頭指針進一,然后將排頭指針指向的元素賦給指定的變量。當循環隊列為空(s=0)時,不能進行退隊運算,這種情況稱為“下溢”。

  1.5線性鏈表

  在定義的鏈表中,若只含有一個指針域來存放下一個元素地址,稱這樣的鏈表為單鏈表或線性鏈表。

  在鏈式存儲方式中,要求每個結點由兩部分組成:一部分用于存放數據元素值,稱為數據域;另一部分用于存放指針,稱為指針域。其中指針用于指向該結點的前一個或后一個結點(即前件或后件)。

  1.6樹和二叉樹

  1.樹的基本概念

  樹是簡單的非線性結構,樹中有且僅有一個沒有前驅的節點稱為“根”,其余節點分成m個互不相交的有限集合T1,T2,…,T}mm,每個集合又是一棵樹,稱T1,T2,…,T}mm為根結點的子樹。

  •父節點:每一個節點只有一個前件,無前件的節點只有一個,稱為樹的根結點(簡稱樹的根)。

  •子節點:每~個節點可以后多個后件,無后件的節點稱為葉子節點。

  •樹的度:所有節點最大的度。

  •樹的深度:樹的最大層次。

  2.二叉樹的定義及其基本性質

  (1)二叉樹的定義:二叉樹是一種非線性結構,是有限的節點集合,該集合為空(空二叉樹)或由一個根節點及兩棵互不相交的左右二叉子樹組成。可分為滿二叉樹和完全二叉樹,其中滿二叉樹一定是完全二叉樹,但完全二叉樹不一定是滿二叉樹。二叉樹具有如下兩個特點:

  •二叉樹可為空,空的二叉樹無節點,非空二叉樹有且只有一個根結點;

  •每個節點最多可有兩棵子樹,稱為左子樹和右子樹。

  (2)二叉樹的基本性質。

  性質1:在二叉樹的第k層上至多有2k-1個結點(k≥1)。

  性質2:深度為m的二叉樹至多有2m-1個結點。

  性質3:對任何一棵二叉樹,度為0的結點(即葉子結點)總是比度為2的結點多一個。

  性質4:具有n個結點的完全二叉樹的深度至少為[log2n]+1,其中[log2n]表示log2n的整數部分。

  3.滿二叉樹與完全二叉樹

  (1)滿二叉樹:滿二叉樹是指這樣的一種二叉樹:除最后一層外,每一層上的所有結點都有兩個子結點。滿二叉樹在其第i層上有2i-1個結點。

  從上面滿二叉樹定義可知,二叉樹的每一層上的結點數必須都達到最大,否則就不是滿二叉樹。深度為m的滿二叉樹有2m-1個結點。

  (2)完全二叉樹:完全二叉樹是指這樣的二叉樹:除最后一層外,每一層上的結點數均達到最大值;在最后一層上只缺少右邊的若干結點。

  如果—棵具有n個結點的深度為k的二叉樹,它的每—個結點都與深度為k的滿二叉樹中編號為1~n的結點——對應。

  3.二叉樹的存儲結構

  二叉樹通常采用鏈式存儲結構,存儲節點由數據域和指針域(左指針域和右指針域)組成。二叉樹的鏈式存儲結構也稱二叉鏈表,對滿二叉樹和完全二叉樹可按層次進行順序存儲。

  4.二叉樹的遍歷

  二叉樹的遍歷是指不重復地訪問二叉樹中所有節點,主要指非空二叉樹,對于空二叉樹則結束返回。二叉樹的遍歷包括前序遍歷、中序遍歷和后序遍歷。

  (1)前序遍歷。

  前序遍歷是指在訪問根結點、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結點,然后遍歷左子樹,最后遍歷右子樹;并且,在遍歷左右子樹時,仍然先訪問根結點,然后遍歷左子樹,最后遍歷右子樹。前序遍歷描述為:若二叉樹為空,則執行空操作;否則①訪問根結點;②前序遍歷左子樹;③前序遍歷右子樹。

  (2)中序遍歷。

  中序遍歷是指在訪問根結點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結點,最后遍歷右子樹;并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結點,最后遍歷右子樹。中序遍歷描述為:若二叉樹為空,則執行空操作;否則①中序遍歷左子樹;②訪問根結點;③中序遍歷右子樹。

  (3)后序遍歷。

  后序遍歷是指在訪問根結點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結點,并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根結點。后序遍歷描述為:若二叉樹為空,則執行空操作;否則①后序遍歷左子樹;②后序遍歷右子樹;③訪問根結點。

  1.7查找技術

  (1)順序查找:在線性表中查找指定的元素。

  (2)最壞情況下,最后一個元素才是要找的元素,則需要與線性表中所有元素比較,比較次數為n。

  (2)二分查找:二分查找也稱折半查找,它是一種高效率的查找方法。但二分查找有條件限制,它要求表必須用順序存儲結構,且表中元素必須按關鍵字有序(升序或降序均可)排列。對長度為n的有序線性表,在最壞情況下,二分查找法只需比較log2n次。

  1.8排序技術

  (1)交換類排序法。

  •冒泡排序:通過對待排序序列從后向前或從前向后,依次比較相鄰元素的排序碼,若發現逆序則交換,使較大的元素逐漸從前部移向后部或較小的元素逐漸從后部移向前部,直到所有元素有序為止。在最壞情況下,對長度為n的線性表排序,冒泡排序需要比較的次數為n(n-1)/2。

  •快速排序:是迄今為止所有內排序算法中速度最快的一種。它的基本思想是:任取待排序序列中的某個元素作為基準(一般取第一個元素),通過一趟排序,將待排元素分為左右兩個子序列,左子序列元索的排序碼均小于或等于基準元素的排序碼,右子序列的排序碼則大于基準元素的排序碼,然后分別對兩個子序列繼續進行排序,直至整個序列有序。最壞情況下,即每次劃分,只得到一個序列,時間效率為O(n2)。

  (2)插人類排序法。

  •簡單插入排序法:把n個待排序的元素看成為一個有序表和一個無序表,開始時有序表中只包含一個元素,無序表中包含有n-1個元素,排序過程中每次從無序表中取出第一個元素,把它的排序碼依次與有序表元素的排序碼進行比較,將它插入到有序表中的適當位置,使之成為新的有序表。在最壞情況下,即初始排序序列是逆序的情況下,比較次數為n(n-1)/2,移動次數為n(n-1)/2。

  •希爾排序法:先將整個待排元素序列分割成若干個子序列(由相隔某個“增量”的元素組成的)分別進行直接插入排序。待整個序列中的元素基本有序(增量足夠小)時,再對全體元素進行一次直接插入排序。

  (3)選擇類排序法。

  •簡單選擇排序法:掃描整個線性表。從中選出最小的元素。將它交換到表的最前面;然后對剩下的子表采用同樣的方法,直到子表空為止。最壞情況下需要比較n(n-1)/2次。

  •堆排序的方法:首先將一個無序序列建成堆;然后將堆頂元素(序列中的最大項)與堆中最后一個元素交換(最大項應該在序列的最后)。不考慮已經換到最后的那個元素,只考慮前n-1個元素構成的子序列,將該子序列調整為堆。反復做步驟②,直到剩下的子序列空為止。在最壞情況下,堆排序法需要比較的次數為0(nlog2n)

55931 主站蜘蛛池模板: 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | 磁力轮,磁力联轴器,磁齿轮,钕铁硼磁铁-北京磁运达厂家 | 温州中研白癜风专科_温州治疗白癜风_温州治疗白癜风医院哪家好_温州哪里治疗白癜风 | 亚克隆,RNAi干扰检测,miRNA定量检测-上海基屹生物科技有限公司 | 医用空气消毒机-医用管路消毒机-工作服消毒柜-成都三康王 | 通用磨耗试验机-QUV耐候试验机|久宏实业百科 | 板式换热器_板式换热器价格_管式换热器厂家-青岛康景辉 | 铜镍-康铜-锰铜-电阻合金-NC003 - 杭州兴宇合金有限公司 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 混合反应量热仪-高温高压量热仪-微机差热分析仪DTA|凯璞百科 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 非标压力容器_碳钢储罐_不锈钢_搪玻璃反应釜厂家-山东首丰智能环保装备有限公司 | 对夹式止回阀厂家,温州对夹式止回阀制造商--永嘉县润丰阀门有限公司 | 东莞市海宝机械有限公司-不锈钢分选机-硅胶橡胶-生活垃圾-涡电流-静电-金属-矿石分选机 | 无水硫酸铝,硫酸铝厂家-淄博双赢新材料科技有限公司 | 环氧树脂地坪漆_济宁市新天地漆业有限公司 | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 高压分散机(高压细胞破碎仪)百科-北京天恩瀚拓 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 板框压滤机-隔膜压滤机配件生产厂家-陕西华星佳洋装备制造有限公司 | 广州工业氧气-工业氩气-工业氮气-二氧化碳-广州市番禺区得力气体经营部 | Boden齿轮油泵-ketai齿轮泵-yuken油研-无锡新立液压有限公司 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 大型冰雕-景区冰雕展制作公司,3D创意设计源头厂家-[赛北冰雕] | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 康明斯发电机,上柴柴油发电机,玉柴柴油发电机组_海南重康电力官网 | 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 新疆十佳旅行社_新疆旅游报价_新疆自驾跟团游-新疆中西部国际旅行社 | 挤奶设备过滤纸,牛奶过滤纸,挤奶机过滤袋-济南蓝贝尔工贸有限公司 | 珠海白蚁防治_珠海灭鼠_珠海杀虫灭鼠_珠海灭蟑螂_珠海酒店消杀_珠海工厂杀虫灭鼠_立净虫控防治服务有限公司 | 湿地保护| 视频直播 -摄影摄像-视频拍摄-直播分发 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 多功能真空滤油机_润滑油全自动滤油机_高效真空滤油机价格-重庆润华通驰 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 武汉高低温试验箱_恒温恒湿试验箱厂家-武汉蓝锐环境科技有限公司 |