⑴ 常用數據結構有哪些
數據結構分為8類有:數組、棧、隊列、鏈表、樹、散列表、堆、圖。數據結構是指相互之間存在著一種或多種關系的數據元素的集合和該集合中數據元素之間的關系組成 。
1、數組
數組是可以再內存中連續存儲多個元素的結構,在內存中的分配也是連續的,數組中的元素通過數組下標進行訪問,數組下標從0開始。例如下面這段代碼就是將數組的第一個元素賦值為 1。
2、棧
棧是一種特殊的線性表,僅能在線性表的一端操作,棧頂允許操作,棧底不允許操作。 棧的特點是:先進後出,或者說是後進先出,從棧頂放入元素的操作叫入棧,取出元素叫出棧。
3、隊列
隊列與棧一樣,也是一種線性表,不同的是,隊列可以在一端添加元素,在另一端取出元素,也就是:先進先出。從一端放入元素的操作稱為入隊,取出元素為出隊。
4、鏈表
鏈表是物理存儲單元上非連續的、非順序的存儲結構,數據元素的邏輯順序是通過鏈表的指針地址實現,每個元素包含兩個結點,一個是存儲元素的數據域 (內存空間),另一個是指向下一個結點地址的指針域。根據指針的指向,鏈表能形成不同的結構,例如單鏈表,雙向鏈表,循環鏈表等。
5、樹
樹是一種數據結構,它是由n(n>=1)個有限節點組成一個具有層次關系的集合。把它叫做 「樹」 是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。
6、散列表
散列表,也叫哈希表,是根據關鍵碼和值 (key和value) 直接進行訪問的數據結構,通過key和value來映射到集合中的一個位置,這樣就可以很快找到集合中的對應元素。
7、堆
堆是一種比較特殊的數據結構,可以被看做一棵樹的數組對象,具有以下的性質:堆中某個節點的值總是不大於或不小於其父節點的值;堆總是一棵完全二叉樹。將根節點最大的堆叫做最大堆或大根堆,根節點最小的堆叫做最小堆或小根堆。常見的堆有二叉堆、斐波那契堆等。
8、圖
圖是由結點的有窮集合V和邊的集合E組成。其中,為了與樹形結構加以區別,在圖結構中常常將結點稱為頂點,邊是頂點的有序偶對,若兩個頂點之間存在一條邊,就表示這兩個頂點具有相鄰關系。
⑵ access中的數據類型有哪些,分別是什麼
Access資料庫為欄位提供了10種數據類型,具體如下:
1.文本型(Text):用於輸入文本或文本與數字相結合的數據,最長為255個字元(位元組),默認值是50。在Access中,每一個漢字和所有特殊字元(包括中文標點符號)都算作一個字元。
2.貨幣型(Currency):用來存儲貨幣值,佔8個位元組,在計算中禁止四捨五入。
3.數字型(Number):用於可以進行數值計算的數據,但貨幣除外。數字型欄位按欄位大小分位元組、整型、長整型、單精度型、雙精度型、同步復制ID和小數7種情形,分別佔1、2、4、4、8、16和12個位元組。
4.日期/時間型(Date/Time):用於存儲日期和(或)時間值,佔8個位元組。
5、自動編號型(AutoNumber):用於在添加記錄時自動插入的序號(每次遞增1或隨機數),默認是長整型,也可以改為同步復制ID。自動編號不能更新。
6、是/否型(Yes/No):用於表示邏輯值(是/否,真/假),佔1個位元組。
7、備注型(Memo):用於長文本或長文本與數字(大於255個字元)的結合,最長為65535個字元。
8、OLE對象型(OLE Object):用於使用OLE協議在其它程序中創建的OLE對象(如Word文檔、Excel電子表格、圖片、聲音等),最多存儲1GB(受磁碟空間限制)。
9、超級鏈接型(Hyper Link):用於存放超級鏈接地址,最多存儲64000個字元。
10、查閱向導型(Lockup Wizard):讓用戶通過組合框或列表框選擇來自其它表或值列表的值,實際的欄位類型和長度取決於數據的來源。
參考資料來源:網路-Microsoft Office Access
參考資料來源:網路-數據類型
⑶ oracle資料庫索引種類,分別什麼情況下使用
1. b-tree索引
Oracle資料庫中最常見的索引類型是b-tree索引,也就是B-樹索引,以其同名的計算科學結構命名。CREATE
INDEX語句時,默認就是在創建b-tree索引。沒有特別規定可用於任何情況。
2. 點陣圖索引(bitmap index)
點陣圖索引特定於該列只有幾個枚舉值的情況,比如性別欄位,標示欄位比如只有0和1的情況。
3. 基於函數的索引
比如經常對某個欄位做查詢的時候是帶函數操作的,那麼此時建一個函數索引就有價值了。
4. 分區索引和全局索引
這2個是用於分區表的時候。前者是分區內索引,後者是全表索引
5. 反向索引(REVERSE)
這個索引不常見,但是特定情況特別有效,比如一個varchar(5)位欄位(員工編號)含值
(10001,10002,10033,10005,10016..)
這種情況默認索引分布過於密集,不能利用好伺服器的並行
但是反向之後10001,20001,33001,50001,61001就有了一個很好的分布,能高效的利用好並行運算。
6.HASH索引
HASH索引可能是訪問資料庫中數據的最快方法,但它也有自身的缺點。集群鍵上不同值的數目必須在創建HASH集群之前就要知道。需要在創建HASH集群的時候指定這個值。使用HASH索引必須要使用HASH集群。
⑷ python數據類型有哪些
Python基本數據類型一般分為:數字、字元串、列表、元組、字典、集合這六種基本數據類型。
其中數字又包含整型(整型又包括標准整型、長整型(Python2.7及之前版本有))、浮點型、復數類型、布爾型(布爾型就是只有兩個值的整型)、這幾種數字類型。列表、元組、字元串都是序列。
1、數字
數字類型是不可更改的對象。對變數改變數字值就是生成/創建新的對象。Python支持多種數字類型:
整型(標准整型和長整型(Python2.7及之前的有這種類型))、布爾型、雙精度浮點型、十進制浮點型、復數。
2、標准整型
int,標准整型,在大多數32位機器上標准整型取值范圍是-2^31到2^31-1,也就是-2147483648~2147483647,如果在64位機器使用64位編譯器,那麼這個系統的標准整型將是64位。
3、布爾型
bool,從Python2.3開始Python中添加了布爾類型。布爾類型有兩種True和False。對於沒有__nozero__方法的對象默認是True。
對於值為0的數字、空集(空列表、空元組、空字典等)在Python中的布爾類型中都是False。
>>>bool(1)
True
>>>bool('a')
True
>>>bool(0)
False
>>>bool('')
False
4、浮點型
float,每個浮點型佔8個位元組(64位),完全遵守IEEE754號規范(52M/11E/1S),其中52個位用於表示底,11個位用於表示指數(可表示的范圍大約是±10**308.25),剩下的一個位表示符號。這看上去相當完美,然而,實際精度依賴於機器架構和創建Python解釋器的編譯器。
浮點型值通常都有一個小數點和一個可選的後綴e(大寫或小寫,表示科學計數法)。在e和指數之間可以用正(+)或負(-)表示指數的正負(正數的話可以省略符號)。
以上是Python核心編程的對浮點型(雙精度浮點型)的說明。經過Python實測浮點型默認長度是24位元組如果超出這個范圍會自動
5、復數類型
complex,在復數中虛數不能單獨存在,它們總是和一個值為0.0的實數部分一起來構成一個復數。復數由實數部分和虛數部分構成。表示虛數的語法:real+imagj。
實數部分和虛數部分都是浮點型。虛數部分必須有後綴j或J。