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

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

全國計算機等級考試四級復習綱要:數據結構

時間: 家輝2 資訊

  數據對象是具有相同性質的數據元素的集合。通常,一個數據對象中的數據元素不是孤立的,而是彼此之間存在著一定的聯系,這種聯系就是數據結構。數據對象中數據元素之間的聯系需要在對數據進行存儲和加工中反映出來,因此,數據結構概念一般包括三方面的內容:數據之間的邏輯關系、數據在計算機中的存儲方式、以及在這些數據上定義的運算的集合。

  (1)數據的邏輯結構

  數據的邏輯結構只抽象地反映數據元素之間的邏輯關系,它與數據的存儲無關,是獨立于計算機的。

  數據的邏輯結構分為線性結構和非線性結構兩大類,線性結構的邏輯特征是:有且僅有一個開始結點和一個終端結點,并且所有的結點都最多有一個直接前驅和一個直接后繼。線性表就是一個典型的線性結構。非線性結構的邏輯特征是:一個結點可能有多個直接前驅和直接后繼。樹、圖等都是非線性結構。

  2.算法

  (1)算法及其特征

  簡單地說,一個算法就是一種解題方法,更嚴格地說,算法是由若干條指令組成的有窮序列,它必須具有以下特征:

  ①有窮性 一個算法必須在執行有窮步后結束。

  ②確定性 算法的每一步必須是確切地定義的,無二義性。

 ?、劭尚行?算法中的所有待實現的運算必須在原則上能夠由人使用筆和紙在做有窮次運算后完成。

  ④輸入 一個算法具有0個或多個輸入的外界量,它們是算法開始前對算法最初給出的量。

 ?、葺敵?一個算法至少產生一個輸出,它們是與輸入有某種關系的量。

  算法的含義與程序十分相似,但二者又有區別。一個程序不一定滿足有窮性,操作系統就是如此,只要整個系統不被破壞,操作系統就永遠不會停止,所以操作系統程序不是一個算法。另外,程序中的指令必須是機器可以執行的,而算法中的指令則無此限制。但是,一個算法如果用機器可執行的語言書寫,則它就是一個程序。

  對一個算法的描述可以采用自然語言、數學語言、約定的符號語言、以及圖解等方式。

  (2)算法的分析

  求解同一個問題可以有多種不同的算法,評價一個算法的優劣除了正確性和簡明性外,主要考慮兩點:一是執行算法所耗費的時間,二是執行算法所耗費的存儲空間,特別是輔助存儲空間的耗費。就這兩者而言,前者顯得比后者更為重要,在數據結構中往往更注重對算法執行時間的分析。

  一個算法所耗費的時間是該算法中每條語句的執行時間之和,而每條語句的執行時間是該語句執行次數(頻度)與該語句一次執行所需時間的乘積。如果假定每條語句一次執行所需的時間均為單位時間,則一個算法的時間耗費就是該算法中所有語句的頻度之和。

  二、線性表

  (1)線性表及其基本操作

  線性表是n≥0個元素的一個有限序列:(a 1 ,a 2 ,a 3 ,…,a n- 1 ,a n ,)表中元素的個數n稱為表的長度,長度n=0的表稱為空表。表元素又稱為結點,線性表的一個重要特性是可以按照諸元素在表中的位置確定它們在表中的先后次序。若n≥1,則a 1 ,為第一個元素,a n 為最后一個元素。元素a i-1 先于a i ,我們稱a i-1 為a i 的前驅;a i 在a i-1 之后,a 1 為a i-1 的后繼。除第一個元素外,每個元素都有一個且僅有一個直接前驅;除最后一個元素外,每個元素都有一個且僅有一個直接后繼,下面所列的是其中一些常用的運算。

  ①查找運算

  查找線性表的第i(0≤i≤n-1)個表元;

  在線性表中查找具有給定鍵值的表元;

 ?、诓迦脒\算

  把新表元插在線性表的第i(0≤i≤n)個位置上;

  把新表元插在具有給定鍵值的表元的前面或后面;

  ③刪除運算

  刪除線性表的第i(0≤i≤n-1)個表元;

  刪除線性表中具有給定鍵值的表元;

  ④其他運算

  統計線性表元的個數;

  輸出線性表各表元的值;

  復制線性表;

  線性表分析;

  線性表合并;

  線性表排序;

  按某種規則整理線性表。

  (2)線性表的存儲

  有多種存儲方式能將線性表存儲在計算機內,其中最常用的是順序存儲和鏈接存儲。

  ①線性表的順序存儲

  線性表的順序存儲是最簡單的存儲方式。程序通常用一個足夠大的數組,從數組的第一個元素開始,將線性表的結點依次存儲在數組中。即線性表的第i個結點存儲在數組的第i(0≤i≤n-1)個元素中,用數組元素的順序存儲來體現線性表中結點的先后次序關系。用數組存儲線性表的最大優點是能直接訪問線性表中的任一結點。

  用數組存儲線性表的缺點主要有兩個:一是程序中的數組通常大小是固定的,可能會與線性表的結點可以任意增加和減少的要求相矛盾;二是執行線性表的結點插、刪操作時要移動存于數組中的其他元素,使插和刪操作不夠簡便。

 ?、诰€性表的鏈接存儲

  線性表鏈接存儲是用鏈表存儲線性表,最簡單的用單鏈表。如從鏈表的第一個表元開始,將線性表的結點依次存儲在鏈表的各表元中。即線性表的第i個結點存儲在鏈表的第i(0≤i≤n-1)個表元中。鏈表的每個表元除要存儲線性結點的信息外,還要有一個成分用來存儲其后繼結點的指針。單鏈表就是通過鏈接指針來體現線性表中結點的先后次序關系。每個鏈表還要有一個指向鏈表的第一個表元,鏈表的最末一個表元的后繼指針值為空。用鏈表存儲線性表的優點是線性表的每個表元的后繼指針就能完成插或刪的操作,不需移動任何表元。

  其缺點也主要有兩條:一是每個表元增加了一個后繼指針成分,要花費更多的存儲空間;二是不便隨機地直接訪問線性表的任一結點。

  (3)線性表上的查找

  線性表上的查找運算是指在線性表中找某個鏈值的結點。根據線性表的存儲形式和線性表本身的性質差異,有多種查找算法,如:順序查找、二分法查找、分塊查找、散列查找等。

56710 主站蜘蛛池模板: 整车VOC采样环境舱-甲醛VOC预处理舱-多舱法VOC检测环境仓-上海科绿特科技仪器有限公司 | 出国劳务公司_正规派遣公司[严海]| 书法培训-高考书法艺考培训班-山东艺霖书法培训凭实力挺进央美 | 美侍宠物-专注宠物狗及宠物猫训练|喂养|医疗|繁育|品种|价格 | 国产离子色谱仪,红外分光测油仪,自动烟尘烟气测试仪-青岛埃仑通用科技有限公司 | 电抗器-能曼电气-电抗器专业制造商| 篮球地板厂家_舞台木地板品牌_体育运动地板厂家_凯洁地板 | 金属雕花板_厂家直销_价格低-山东慧诚建筑材料有限公司 | 原色会计-合肥注册公司_合肥代理记账公司_营业执照代办 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 真空干燥烘箱_鼓风干燥箱 _高低温恒温恒湿试验箱_光照二氧化碳恒温培养箱-上海航佩仪器 | 诗词大全-古诗名句 - 古诗词赏析| 活性炭-蜂窝-椰壳-柱状-粉状活性炭-河南唐达净水材料有限公司 | 手持式3d激光扫描仪-便携式三维立体扫描仪-北京福禄克斯 | 脑钠肽-白介素4|白介素8试剂盒-研域(上海)化学试剂有限公司 | 数控走心机-走心机价格-双主轴走心机-宝宇百科 | 液晶拼接屏厂家_拼接屏品牌_拼接屏价格_监控大屏—北京维康 | 液压油缸-液压站生产厂家-洛阳泰诺液压科技有限公司 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | 高博医疗集团上海阿特蒙医院 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | 全钢实验台,实验室工作台厂家-无锡市辰之航装饰材料有限公司 | 紫外荧光硫分析仪-硫含量分析仪-红外光度测定仪-泰州美旭仪器 | 流量卡中心-流量卡套餐查询系统_移动电信联通流量卡套餐大全 | DNA亲子鉴定_DNA基因检测中心官方预约平台-严选好基因网 | 建筑资质代办-建筑资质转让找上海国信启航 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 浙江富广阀门有限公司| 江苏南京多语种翻译-专业翻译公司报价-正规商务翻译机构-南京华彦翻译服务有限公司 | 乐考网-银行从业_基金从业资格考试_初级/中级会计报名时间_中级经济师 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 | 壹作文_中小学生优秀满分作文大全| 上海公众号开发-公众号代运营公司-做公众号的公司企业服务商-咏熠软件 | 成都办公室装修-办公室设计-写字楼装修设计-厂房装修-四川和信建筑装饰工程有限公司 | 亮点云建站-网站建设制作平台 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 深圳市源和塑胶电子有限公司-首页 |