日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【数据结构复习】(1)绪论

發(fā)布時(shí)間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据结构复习】(1)绪论 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

  由于自己已經(jīng)大四,開始決定寫這個(gè)博客,記錄下自己每一天一點(diǎn)一滴的進(jìn)步,希望自己的收獲能與大家一同分享。數(shù)據(jù)結(jié)構(gòu)這門課是我在大二上學(xué)期所學(xué)的,由于之前學(xué)習(xí)C語(yǔ)言的時(shí)候已經(jīng)接觸了常用的一些數(shù)據(jù)結(jié)構(gòu),加之自己以前也看過(guò)不少數(shù)據(jù)結(jié)構(gòu)方面的書,因此學(xué)習(xí)起來(lái)比較輕松。馬上要參加2012年的研究生入學(xué)考試,數(shù)據(jù)結(jié)構(gòu)作為專業(yè)課的一門,就要重新開始復(fù)習(xí)了。因此通過(guò)記錄這個(gè)博客,來(lái)每天更新自己的復(fù)習(xí)成果。這是一個(gè)系列,希望自己能夠堅(jiān)持下去。所用的教材是清華大學(xué)出版的《數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)》。

?

基本概念

  數(shù)據(jù)(data):客觀事物的符號(hào)表示。【CS】指所有能輸入到計(jì)算機(jī)中并被計(jì)算機(jī)程序處理的符號(hào)的總稱。【注】一般來(lái)說(shuō),現(xiàn)實(shí)中的數(shù)據(jù)輸入到計(jì)算機(jī)后,都會(huì)被轉(zhuǎn)化為計(jì)算機(jī)的數(shù)據(jù)表示。

  數(shù)據(jù)元素(data element):數(shù)據(jù)的基本單位,在計(jì)算機(jī)程序中通常作為一個(gè)整體進(jìn)行考慮和處理。【注】比如C語(yǔ)言中的結(jié)構(gòu)體,C++中的類等等。

  數(shù)據(jù)項(xiàng)(data item):數(shù)據(jù)元素的組成單位。【注】比如結(jié)構(gòu)體中的成員等等。

  數(shù)據(jù)對(duì)象(data object):性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)的一個(gè)子集。【注】比如,在C語(yǔ)言中,一個(gè)數(shù)組的元素的全體就是一個(gè)數(shù)據(jù)對(duì)象。按照概念來(lái)講,這個(gè)數(shù)組并不屬于數(shù)據(jù)對(duì)象,因?yàn)樗皇谴鎯?chǔ)數(shù)據(jù)對(duì)象一種數(shù)據(jù)結(jié)構(gòu)的組織形式(下面會(huì)講到數(shù)據(jù)結(jié)構(gòu)的概念)。

  數(shù)據(jù)結(jié)構(gòu)(data structure):相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。存在以下四種基本結(jié)構(gòu)(structure):(1)集合;(2)線性結(jié)構(gòu);(3)樹形結(jié)構(gòu);(4)圖狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)。結(jié)構(gòu)有邏輯結(jié)構(gòu)和物理結(jié)構(gòu)之分。邏輯結(jié)構(gòu)是抽象角度來(lái)講數(shù)據(jù)之間的關(guān)系,而物理結(jié)構(gòu)又稱為存儲(chǔ)結(jié)構(gòu),是指數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)中的實(shí)際表示。存在邏輯相關(guān)的數(shù)據(jù)不一定存在物理相關(guān),十分明顯的一個(gè)例子是鏈表。

  數(shù)據(jù)類型(data type):一個(gè)值的集合和定義在這個(gè)值即上的一組操作的總稱。【注】看到它是不是很容易想起來(lái)類(class)的定義?

算法和算法分析

  算法(algorithm):對(duì)特定問(wèn)題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個(gè)或多個(gè)操作。它具有以下5個(gè)重要特性:

    (1)有窮性。【注】必須能夠結(jié)束。

    (2)確定性。【注】相同輸入必須得到相同輸出。

    (3)可行性。【注】算法操作必須通過(guò)已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次來(lái)實(shí)現(xiàn)。

    (4)輸入。【注】可以沒(méi)有輸入。

    (5)輸出。【注】必須有輸出。

  算法設(shè)計(jì)應(yīng)該考慮的目標(biāo)有:

    (1)正確性。

    (2)可讀性。

    (3)健壯性。

    (4)效率與低存儲(chǔ)量需求。【注】也許大家現(xiàn)在不注意存儲(chǔ)量,對(duì)內(nèi)存隨意分配,有時(shí)候甚至對(duì)內(nèi)存只申請(qǐng)而沒(méi)有釋放,這都是一種不好的習(xí)慣。

  在此小節(jié)中,比較重要的一個(gè)概念就是時(shí)間復(fù)雜度與空間復(fù)雜度,他們是衡量算法效率高低的重要指標(biāo)。具體的不再介紹,如果對(duì)它們不了解,可以再次閱讀課本上相關(guān)內(nèi)容。需要提一點(diǎn)的是,在通常的計(jì)算機(jī)科學(xué)中,時(shí)間資源與空間資源往往“魚與熊掌不可得兼”,所以當(dāng)追求時(shí)間效率時(shí),往往會(huì)犧牲大量的空間資源,但對(duì)于當(dāng)前情況來(lái)說(shuō)是可取的,因?yàn)橛布蟠筘S富的今天,人們不必為沒(méi)有空間而感到捉襟見(jiàn)肘。當(dāng)然,也可以通過(guò)犧牲時(shí)間來(lái)降低空間復(fù)雜度,但大多數(shù)情況下,這樣的事情不會(huì)發(fā)生。畢竟時(shí)間的重要性要大于空間的重要性。

轉(zhuǎn)載于:https://www.cnblogs.com/XjChenny/archive/2011/09/06/2169105.html

總結(jié)

以上是生活随笔為你收集整理的【数据结构复习】(1)绪论的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。