⑴ 單鏈表是一種鏈接存儲結構,但它屬於順序存儲結構,為什麼
你把他理解成很多人在排隊買票,並且每個人都是被一根繩子連在一起的。
⑵ 關於單鏈表存儲結構的定義問題
不可以去掉的,如果去掉next的類型,不好定義了;用你的定義方法,無法通過編譯,在遇到struct Lnode時,編譯器不知何類型!所以要定義為
typedef struct Lnode {
elemtype data;
struct Lnode * next; //此時遇到struct Lnode,編譯器知道是一個結構體類型
} LNode,* LinkList;
⑶ 單鏈表的存儲結構在結構和操作上有什麼優缺點
單鏈表跟雙鏈表相比。除了理解方便代碼相對簡單。幾乎沒有什麼優點。。鏈表最大的優點是沒有大小限制也就是說它是動態的。。你可以任意添加大小 通過結構體 你可以將很多相關的數據放到一起。。但是因為鏈表在內存里存放是不連續的。所以你不能快速的查找和修改 需要遍歷鏈表這也是鏈表美中不足的部分把
⑷ 簡述數據結構與存儲結構的關系
存儲結構是指數據在內存上的存儲方式,比如有順序存儲和鏈式存儲。
但是數據結構要更多樣,比如鏈式存儲可以實現鏈表,也可以實現二叉樹等數據結構。
然後二叉樹也可以使用順序結構存儲。
⑸ 鏈表與數組的存儲結構有什麼不同,鏈表的數據讀寫和數組有呵不同啊
這個問題很奇怪啊。約瑟夫環問題最直接的解決方式就是個循環鏈表,不停的刪除鏈表中的元素。如果覺得刪除操作太麻煩,用個數組,然後標記數組裡面被刪除的元素也是一種選擇。為什麼還要用其他的數據結構?
⑹ 鏈表的物理存儲結構具有同鏈表一樣的順序嗎
沒有順序的。生成鏈表時申請的內存都是系統隨機分配的吧,因此沒有什麼順序。
⑺ 線性鏈表是存儲結構還是邏輯結構
復制意思伐解釋自看面復制說
數據邏輯結構稱數據結構兩類:線性結構非線性結構
存儲結構四類:順序存儲、鏈接存儲、索引存儲散列存儲
線性結構包括順序算鏈表說存儲結構前兩種用線性結構算非線性結構至少存數據元素,具兩或者兩前驅或繼.典型樹二叉樹索引算用樹結構即說屬於非線性結構算散列存儲典型例hash(哈希)用隨即散列函數非線性結構算
由見存儲結構用同邏輯結構用兩種同算兩者關系
⑻ 在數據結構中,邏輯結構和存儲結構之間的關系
存儲結構是邏輯結構的存儲映像,邏輯結構指的是數據間的關系,它又分為線性結構和非線性結構,這兩者並不沖突。一個指的是數據之間的關系,而另一個指這種關系在計算機中的表現形式。兩者的區別就在於給他們定義的特殊操作,它們都有」出「和」入「兩種操作,一個是「先進先出」,而一個是「後進先出」。
一種邏輯結構在計算機里可以用不同的存儲結構實現。比如邏輯結構中簡單的線性結構,可以用數組(順序存儲)或單向鏈表(鏈接存儲)來實現。邏輯結構:指各數據元素之間的邏輯關系。存儲結構:就是數據的邏輯結構用計算機語言的實現。
(8)鏈表跟存儲結構有關系嗎擴展閱讀:
1、邏輯結構
是指數據之間的相互關系。通常分為四類結構:
集合:結構中的數據元素除了同屬於一種類型外,別無其它關系。
線性結構:結構中的數據元素之間存在一對一的關系。
樹型結構:結構中的數據元素之間存在一對多的關系。
圖狀結構:結構中的數據元素之間存在多對多的關系。
2、存儲結構
是指數據結構在計算機中的表示,又稱為數據的物理結構。通常由四種基本的存儲方法實現:
順序存儲方式。數據元素順序存放,每個存儲結點只含一個元素。存儲位置反映數據元素間的邏輯關系。存儲密度大。但有些操作(如插入、刪除)效率較差。
數據元素間的邏輯關系。這種方式不要求存儲空間連續,便於動態操作(如插入、刪除等),但存儲空間開銷大(用於指針),另外不能折半查找等。
索引存儲方式。除數據元素存儲在一組地址連續的內存空間外,還需建立一個索引表,索引表中索引指示存儲結點的存儲位置(下標)或存儲區間端點(下標)。
散列存儲方式。通過散列函數和解決沖突的方法,將關鍵字散列在連續的有限的地址空間內,並將散列函數的值解釋成關鍵字所在元素的存儲地址。其特點是存取速度快,只能按關鍵字隨機存取,不能順序存取,也不能折半存取。
⑼ 鏈表存儲結構
n+1個空鏈域,因為一個結點有兩個空鏈域,加一個結點,佔去一個,同時增加兩個,所以加一個結點多一個空鏈域。
總共有2n個鏈域,減去n+1,剩下n-1個非空鏈域
⑽ 哪種表跟數據的存儲結構無關A順序表B雙鏈表C線性表D散鏈表
順序表、雙鏈表、散列表都是存儲結構
只有線性表是邏輯結構,與存儲結構無關