2018年國(guó)家電網(wǎng)考試備考計(jì)算機(jī)之?dāng)?shù)據(jù)結(jié)構(gòu)與算法
2018年國(guó)家電網(wǎng)公司招聘公告預(yù)計(jì)于2017年10月末(一批)、2018年3月(二批)、2018年5月(三批)發(fā)布,屆時(shí)廣大考生請(qǐng)及時(shí)關(guān)注華圖教育事業(yè)單位頻道,我們會(huì)第一時(shí)間發(fā)布國(guó)家電網(wǎng)考試信息!更多2018年國(guó)家電網(wǎng)備考資料,盡在事業(yè)單位頻道(http://sydw.huatu.com/)!
計(jì)算機(jī)——數(shù)據(jù)結(jié)構(gòu)與算法
1.數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)是指相互之間存在著一種或多種關(guān)系的數(shù)據(jù)元素的集合和該集合中數(shù)據(jù)元素之間的關(guān)系組成。記為:Data_Structure=(D,R),其中D是數(shù)據(jù)元素的集合,R是該集合中所有元素之間的關(guān)系的有限集合。
數(shù)據(jù)的邏輯結(jié)構(gòu):指反映數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu),其中的邏輯關(guān)系是指數(shù)據(jù)元素之間的前后件關(guān)系,而與他們?cè)谟?jì)算機(jī)中的存儲(chǔ)位置無(wú)關(guān)。邏輯結(jié)構(gòu)包括:1.集合2.線性結(jié)構(gòu)3.樹形結(jié)構(gòu)4.圖形結(jié)構(gòu)
2.數(shù)組 (Array)
在程序設(shè)計(jì)中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來(lái)。這些按序排列的同類數(shù)據(jù)元素的集合稱為數(shù)組。在C語(yǔ)言中, 數(shù)組屬于構(gòu)造數(shù)據(jù)類型。一個(gè)數(shù)組可以分解為多個(gè)數(shù)組元素,這些數(shù)組元素可以是基本數(shù)據(jù)類型或是構(gòu)造類型。因此按數(shù)組元素的類型不同,數(shù)組又可分為數(shù)值數(shù)組、字符數(shù)組、指針數(shù)組、結(jié)構(gòu)數(shù)組等各種類別。
數(shù)組類別:
多維數(shù)組
有時(shí)需要追蹤記錄數(shù)組中的相關(guān)信息。
例如,為了追蹤記錄計(jì)算機(jī)屏幕上的每一個(gè)像素,需要引用它的 X、Y坐標(biāo)。這時(shí)應(yīng)該用多維數(shù)組存儲(chǔ)值。
可用 Visual Basic 聲明多維數(shù)組。
例如,下面的語(yǔ)句聲明了一個(gè)過(guò)程內(nèi)的 10 × 10 的二維數(shù)組。
Static MatrixA (9,9) As Double
可用顯式下界來(lái)聲明兩個(gè)維數(shù)或兩個(gè)維數(shù)中的任何一個(gè):
Static MatrixA (1 To 10,1 To 10) As Double
可以將所有這些推廣到二維以上的數(shù)組。例如:
Dim MultiD (3,1 To 10,1 To 15)
這個(gè)聲明建立了三維數(shù)組,大小為 4 × 10 × 15。元素總數(shù)為三個(gè)維數(shù)的乘積,為 600。
注意
在增加數(shù)組的維數(shù)時(shí),數(shù)組所占的存儲(chǔ)空間會(huì)大幅度增加,所以要慎用多維數(shù)組。使用 Variant 數(shù)組時(shí)更要格外小心,因?yàn)樗麄冃枰蟮拇鎯?chǔ)空間。
用循環(huán)操作數(shù)組:
可以用 For循環(huán)嵌套有效的處理多維數(shù)組。例如,在 MatrixA 中基于每個(gè)元素在數(shù)組中的位置為其賦值:
Dim I As Integer,J As Integer
Static MatrixA(1 To 10,1 To 10) As Double
For I = 1 To 10
For J = 1 To 10
MatrixA (I,J) = I * 10 + J
Next J
Next I
一維數(shù)組
定義
一維數(shù)組是最簡(jiǎn)單的數(shù)組,其邏輯結(jié)構(gòu)是線性表。要使用一維數(shù)組,需經(jīng)過(guò)定義、初始化和應(yīng)用等過(guò)程。
數(shù)組聲明
在數(shù)組的聲明格式里,“數(shù)據(jù)類型”是聲明數(shù)組元素的數(shù)據(jù)類型,可以是java語(yǔ)言中任意的數(shù)據(jù)類型,包括簡(jiǎn)單類型和結(jié)構(gòu)類型。“數(shù)組名”是用來(lái)統(tǒng)一這些相同數(shù)據(jù)類型的名稱,其命名規(guī)則和變量的命名規(guī)則相同。
數(shù)組聲明之后,接下來(lái)便是要分配數(shù)組所需要的內(nèi)存,這時(shí)必須用運(yùn)算符new,其中“個(gè)數(shù)”是告訴編譯器,所聲明的數(shù)組要存放多少個(gè)元素,所以new運(yùn)算符是通知編譯器根據(jù)括號(hào)里的個(gè)數(shù),在內(nèi)存中分配一塊空間供該數(shù)組使用。利用new運(yùn)算符為數(shù)組元素分配內(nèi)存空間的方式稱為動(dòng)態(tài)分配方式。
舉例:
int[]x; //聲明名稱為x的int型數(shù)組
x=new int[10]; //x數(shù)組中包含有10個(gè)元素,并為這10個(gè)元素分配內(nèi)存空間
在聲明數(shù)組時(shí),也可以將兩個(gè)語(yǔ)句合并成一行,格式如下:
數(shù)據(jù)類型[]數(shù)組名= new 數(shù)據(jù)類型[個(gè)數(shù)];
利用這種格式在聲明數(shù)組的同時(shí),也分配一塊內(nèi)存供數(shù)組使用。如上面的例子可以寫成:
int[]x = new int [10];
等號(hào)左邊的int[]x相當(dāng)于定義了一個(gè)特殊的變量x,x的數(shù)據(jù)類型是一個(gè)對(duì)int型數(shù)組對(duì)象的引用,x就是一個(gè)數(shù)組的引用變量,其引用的數(shù)組元素個(gè)數(shù)不定。等號(hào)右邊的new int[10]就是在堆內(nèi)存里創(chuàng)建一個(gè)具有10個(gè)int型變量的數(shù)組對(duì)象。int[]x = new int [10];就是將右邊的數(shù)組對(duì)象賦值給左邊的數(shù)組引用變量。
(編輯:姜芃)
- 2020年全國(guó)事業(yè)單位招考信息匯總(4月27日)04-27
- 2020年四川省宜賓學(xué)院招聘高層次人才267人公告04-27
- 2020年江蘇省蘇州張家港市衛(wèi)生健康系統(tǒng)事業(yè)單位招聘292人簡(jiǎn)章04-27
- 2020年浙江省紹興上虞區(qū)衛(wèi)健系統(tǒng)招聘高層次及緊缺專業(yè)畢業(yè)生91人公告04-27
- 2020年浙江省溫州平陽(yáng)縣事業(yè)單位引進(jìn)人才109人公告04-27
- 2020年廣東省韶關(guān)仁化縣第二批丹霞英才暨急需緊缺人才網(wǎng)絡(luò)視頻招聘117人公告04-27