大家好,我是MicroStone,一個(gè)曾在三家世界500強(qiáng)企業(yè)擔(dān)任要職的一線互聯(lián)網(wǎng)工程師,最近有小伙伴問我怎么學(xué)數(shù)據(jù)結(jié)構(gòu),今天我們來學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的第一門課:什么是數(shù)據(jù)結(jié)構(gòu)。
要開始了哦
在開始介紹數(shù)據(jù)結(jié)構(gòu)之前,讓我們先去看看動(dòng)物園,動(dòng)物園里有大象,有猴子,有鳥等動(dòng)物,為區(qū)別它們,我們都會(huì)給他們起一些名字,比如大象是長長的鼻子,猴子尾巴也是長長經(jīng)常在樹上爬來爬去,這些都是我們?nèi)祟愌壑械膭?dòng)物,那么計(jì)算機(jī)是怎么識(shí)別一家動(dòng)物園吶?
一、數(shù)據(jù)結(jié)構(gòu)的定義
數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計(jì)算的程序設(shè)計(jì)問題中的操作對象,以及它們之間的關(guān)系和操作等相關(guān)問題的學(xué)科。
伴隨著計(jì)算機(jī)問世,數(shù)據(jù)結(jié)構(gòu)就作為計(jì)算機(jī)學(xué)科中一門重要的學(xué)科,人們越來越重視“數(shù)據(jù)結(jié)構(gòu)”,認(rèn)為程序設(shè)計(jì)的實(shí)質(zhì)是對確定的問題選擇一種好的結(jié)構(gòu),加上設(shè)計(jì)一種好的算法。
我們可以這么理解數(shù)據(jù)結(jié)構(gòu)通過一系列的是為了讓計(jì)算機(jī)更好,更快,更加有效率運(yùn)算的一種約定俗成的“方法”
二、基本概念和術(shù)語
我們來看看什么是數(shù)據(jù)結(jié)構(gòu),針對這個(gè)問題,我們把數(shù)據(jù)結(jié)構(gòu)拆分成兩個(gè)詞:數(shù)據(jù)與結(jié)構(gòu),這樣來講解會(huì)容易理解一點(diǎn),首先我們來看看什么是是數(shù)據(jù),大家先看看下圖
數(shù)據(jù)結(jié)構(gòu)-數(shù)據(jù)的定義
(1)數(shù)據(jù)
描述客觀事物的符號(hào),是計(jì)算機(jī)中科院操作的對象,是能被計(jì)算機(jī)識(shí)別,并輸入給計(jì)算機(jī)處理的符號(hào)集合。數(shù)據(jù)不僅僅包括整型、實(shí)型等數(shù)值類型,還包括字符及聲音、圖像、視頻等非數(shù)值類型。在我們平時(shí)接觸到的電腦所有操作都可轉(zhuǎn)換成數(shù)據(jù)表示,比如大家上網(wǎng)搜索用到的網(wǎng)頁、搜索引擎,平時(shí)操作的office文檔,聽歌用到的mp3,看視頻用到的播放器,動(dòng)物的圖片等,這些都是數(shù)據(jù)。
由于計(jì)算機(jī)最終只能識(shí)別機(jī)器語言,最終都是0和1這樣純計(jì)算機(jī)信息,所以我們前輩針對這樣的信息,設(shè)計(jì)出計(jì)算機(jī)能識(shí)別的符號(hào)和數(shù)字等文字?jǐn)?shù)據(jù),這樣在輸入到計(jì)算機(jī)時(shí),通過一系列操作轉(zhuǎn)換成計(jì)算機(jī)能識(shí)別的信號(hào),也就是說數(shù)據(jù)等同于符號(hào),它需要具備兩個(gè)前提
1、可輸入到計(jì)算機(jī)中
2、能被特定的程序處理
對于整型、實(shí)型等數(shù)值類型,可以進(jìn)行數(shù)值處理。
對于字符數(shù)據(jù)類型,就需要進(jìn)行非數(shù)值的處理。而聲音、圖像、視頻等其他都是通過編碼處理,最終變成字符數(shù)據(jù)來處理的
(2)數(shù)據(jù)對象
數(shù)據(jù)對象是一類數(shù)據(jù)的集合,也可以說是數(shù)據(jù)的一個(gè)子集,它的官方定義是:性質(zhì)相同的數(shù)據(jù)元素的集合。我們在討論的時(shí)候,有時(shí)候會(huì)把數(shù)據(jù)對象同于數(shù)據(jù)來討論,比如我們討論數(shù)字時(shí),那么整數(shù),浮點(diǎn)型等都是同一類數(shù)據(jù)對象,又比如我們討論動(dòng)物園時(shí),對于哺乳動(dòng)物跟飛禽類動(dòng)物兩個(gè)群里,也都是數(shù)據(jù)對象,那么為什么會(huì)把這樣當(dāng)做一個(gè)群里來對待吶,這就涉及定義中的相同性質(zhì)說法(都是動(dòng)物學(xué)科一個(gè)分類,具有相同特征)的數(shù)據(jù)元素,這個(gè)概念,那什么是數(shù)據(jù)元素吶?
(3)數(shù)據(jù)元素
上面的我們把哺乳動(dòng)物作為一個(gè)數(shù)據(jù)對象,那是因?yàn)椴溉閯?dòng)物在動(dòng)物學(xué)科上都具備相同的特征:大象、猴子、老虎等,他們都具備哺乳動(dòng)物的特征,這些具備相同特征的整體就是我們現(xiàn)在討論的數(shù)據(jù)元素。
數(shù)據(jù)元素:是組成數(shù)據(jù)的、有一定意義的基本單位,是計(jì)算機(jī)中通常作為整體處理。也稱為記錄。
(4)數(shù)據(jù)項(xiàng)
大象、猴子、老虎都是哺乳動(dòng)物,他們都具備哪些特征吶,我們都知道哺乳動(dòng)物都是一些共性,比如都長有皮毛、胎生、有大腦、鼻子、眼睛、尾巴等特征。這些相同的特征在數(shù)據(jù)中都稱為數(shù)據(jù)項(xiàng):一個(gè)數(shù)據(jù)元素可以由若干個(gè)數(shù)據(jù)項(xiàng)組成。在實(shí)際應(yīng)用中,數(shù)據(jù)項(xiàng)可以從多個(gè)方面來制定,抽象跟具象都可以,比如動(dòng)物,可以從眼睛、鼻子、嘴巴、爪子等,也可以從名字(人類起的)、年齡、性別等來形容,具體有哪些數(shù)據(jù)項(xiàng),可有開發(fā)人員或團(tuán)隊(duì)商量來定義,原則上數(shù)據(jù)項(xiàng)是數(shù)據(jù)不可分割的最小單位。在數(shù)據(jù)結(jié)構(gòu)這門學(xué)科中,我們把數(shù)據(jù)項(xiàng)作為最小單位,是有助于我們更好地解決問題。就像我們討論動(dòng)物園時(shí),我們是討論某一只動(dòng)物而非討論某一類動(dòng)物。
三、今日總結(jié)
今天我們討論了數(shù)據(jù)數(shù)據(jù)中數(shù)據(jù)的定義,我們需要掌握到數(shù)據(jù)、數(shù)據(jù)對象、數(shù)據(jù)元素還有數(shù)據(jù)項(xiàng)的知識(shí),在以后需要用到的時(shí)候,我們能很好為歸類及應(yīng)用到它。
大家記得復(fù)習(xí)哦
好了,今天就先介紹到這里,明天我們來講解一下:數(shù)據(jù)結(jié)構(gòu)俗話說—數(shù)據(jù)結(jié)構(gòu)的定義(下),繼續(xù)數(shù)據(jù)結(jié)構(gòu)定義知識(shí)講解:什么是結(jié)構(gòu)
關(guān)鍵詞: 數(shù)據(jù)結(jié)構(gòu)俗話說一數(shù)據(jù)結(jié)構(gòu)的定義(上) 數(shù)據(jù)元素