• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            luqingfei@C++

            為中華之崛起而崛起!
            兼聽則明,偏聽則暗。

            『數據結構與算法』基本概念與術語

            『數據』是計算機化的信息。它是對現實世界的事物采用計算機能夠識別、存儲和處理方式進行的描述。例如:整數、字符、聲音、圖像等都是『數據』。

            『數據元素』是數據的基本單位,即數據集合中的個體。有些情況下也把『數據元素』稱做結點或記錄等。

            『數據項』,一個數據元素可由一個或多個數據項組成,『數據項』是有獨立含義的數據最小可使單位。有時也把『數據項』稱做域、字段等。例如:學生管理系統中,可以把一個與學生有關的信息作為一個『數據元素』,它由學號、姓名、年齡等『數據項』,組成。

            『數據結構』是相互之間存在一種或多種特定關系的『數據元素』的集合。數據元素之間的相互關系稱為結構。

            數據結構包括:邏輯結構和物理結構。

            數據的邏輯結構只抽象地描述數據元素間的邏輯關系,而不管其在計算機中的存儲表示方式。

            數據的物理結構是數據的邏輯結構在計算機存儲器里的實現。數據的物理結構也稱為存儲結構。

            數據的邏輯結構分為:線性結構和非線性結構。

            線性結構,各數據元素之間的邏輯關系可以用一個線性序列簡單地表示出來,否則稱為非線性結構。

            線性結構有線性表、棧和隊等。

            非線性結構有樹、圖等。

            『數據類型』是一個值的集合和定義在該值集上的運算集合的總稱。這個概念最早出現在程序語言中,每個程序語言都提供若干數據類型,用于定義變量、常量或表達式可以取值的范圍,以及可以施于它們的運算。

            程序語言中的數據類型可以分為兩類:
            一類是原子類型,其值是不可分解的。例如C語言中的整型、實型、字符型等。
            另一類是結構類型,其值是由若干萬分按某種結構組成的,因此是可以分解的,并且它的萬分還可以是結構的。例如:數組的值由若干分量組成。

            數據結構與程序語言中的數據類型有關,但兩者并非互相對應的。
            一些最基本的數據結構,例如:記錄、數組、字符串等在很多情況下程序語言自身已經提供相應的數據類型實現,即指程序語言本身提供了對這些結構的描述手段和對它們的操作。
            但還有許多數據結構,在很多程序語言中并沒有相應的數據類型,需要采用程序語言中提供的基本數據類型和供程序員構造結構化數據類型方法作為工具實現相應的數據結構。

            抽象數據類型是指一個數學模型及定義在該模型上的一組操作。

            算法是解決某一特定類型問題的有限運算序列。
            一個算法應該具有下列特性:
            (1)有究性。一個算法必須是在執行有限步之后結束。
            (2)確定性。算法的每一步必須是確切地定義的,無二義性。
            (3)可行性。算法應該是可行的,這意味著算法中描述的運算都是相當基本的,它們都是可以通過已經實現的基本運算執行有限次來實現的。
            (4)輸入。一個算法有0個或多個輸入。
            (5)輸出。一個算法有一個或多個輸出。

            算法的設計可以避開具體的計算機程序語言,但算法的實現必須借助程序語言中提供的數據類型及其運算。
            數據結構與算法是相輔相成的,它們是利用計算機解決實際問題時不可缺少的兩個方面。

            數據的運算是定義在數據的邏輯結構上的,但運算的具體實現要在存儲結構上進行。

            常用的運算有查找、插入、刪除、更新和排序等。

            一種數據結構的優劣是由實現其各種運算的算法體現的。
            對數據結構的分析實質上也就是對實現其各種運算的算法的分析。

            在算法正確的前提下,算法的執行時間和存儲量需求是分析和評價一個算法的兩個主要方面。

            ——復習《數據結構基礎——譚洗強》第一章
            這本書是我02年開始學的,當時學的還算認真,但學的也比較糊涂,現在重新復習一下。鞏固一下自己的數據結構與算法的知識。

            接下來,將會找一些比較經典的數據結構,算法來研究分析。

            posted on 2009-03-26 22:31 luqingfei 閱讀(767) 評論(0)  編輯 收藏 引用 所屬分類: 數據結構與算法

            導航

            <2010年7月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            統計

            留言簿(6)

            隨筆分類(109)

            隨筆檔案(105)

            Blogers

            Game

            Life

            NodeJs

            Python

            Useful Webs

            大牛

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久婷婷五月综合色高清| 久久久久无码国产精品不卡| 青青草原精品99久久精品66| 国产婷婷成人久久Av免费高清| 精品精品国产自在久久高清| 99久久精品这里只有精品| 综合久久精品色| 日本免费一区二区久久人人澡| 久久综合色区| 色综合久久综精品| 一本一道久久综合狠狠老| 国产69精品久久久久99尤物| 国产偷久久久精品专区| 久久久中文字幕日本| 99久久精品国产免看国产一区| 亚洲欧洲久久久精品| 狠狠精品久久久无码中文字幕| 日本欧美久久久久免费播放网| 午夜精品久久久久久影视777| 久久精品一本到99热免费| 久久毛片一区二区| 久久久久亚洲AV无码专区桃色 | 久久国产精品波多野结衣AV| 久久久久亚洲AV无码观看 | 无码人妻少妇久久中文字幕蜜桃| 99久久国产主播综合精品| 久久亚洲精品国产精品| 亚洲精品无码成人片久久| 中文字幕精品无码久久久久久3D日动漫| 香港aa三级久久三级| 国产午夜精品理论片久久影视| 午夜人妻久久久久久久久| 伊人色综合九久久天天蜜桃| 久久久久国产一区二区三区| 久久AAAA片一区二区| 久久久久人妻精品一区三寸蜜桃 | 久久99久久99精品免视看动漫| 亚洲欧洲中文日韩久久AV乱码| 亚洲乱码日产精品a级毛片久久| 午夜肉伦伦影院久久精品免费看国产一区二区三区| 99精品国产在热久久|