資料結構 筆記:線性表的本質和操作
線性表(List)的表現形式
-零個或多個數據元素組成的集合
-資料元素在位置上是有序排列的
-資料元素的個數是有限的
-資料元素的型別必須相同
線性表(List)的抽象定義
線性表是具有相同型別的n( >= 0)個數據元素的有限序列
線性表(List)的性質
-a0為線性表的第一個元素,製作一個後繼
-an-1為線性表的最後一個元素,只有一個錢驅
-除a0和an-1外的其他元素ai,既有前驅,又有後繼
-直接支援逐項訪問和順序存取
線性表的一些常用操作
-將元素插入線性表
-將元素從線性表中刪除
-獲取目標位置處元素的值
-設定目標位置處元素的值
-獲取線性表的長度
-清空線性表
線性表在程式中表現為一種特殊的資料型別
總結:
-線性表示資料元素的有序並且有限的集合
-線性表中的資料元素必須是型別相同的
-線性表可用於描述排隊關係的問題
-線性表在程式中表現為一種特殊的資料型別
-線性表在C++中表現為一個抽象類
相關推薦
資料結構 筆記:線性表的本質和操作
線性表(List)的表現形式 -零個或多個數據元素組成的集合 -資料元素在位置上是有序排列的 -資料元素的個數是有限的 -資料元素的型別必須相同 線性表(List)的抽象定義 線性表是具有相同型別的n( >= 0)個數據元素的有限序列 線性表(List)的性質
資料結構 筆記:線性表的順序儲存結構
順序儲存的定義 線性表的順序儲存結構,指的是用一段地址連續的儲存單元一次儲存線性表中的資料元素。 順序儲存結構的元素插入操作 -判斷目標位置是否合法 -將目標位置之後的所有元素後移一個位置 -將新元素插入目標位置 -線性長度加1 順序儲存結構的元素插入示例 bool
資料結構 筆記:線性表的鏈式儲存結構
鏈式儲存的定義 為了表示每個資料元素與其直接後繼元素之間的邏輯關係;資料元素出了儲存本身的資訊外,還需要儲存直接後繼的資訊。 ps:在邏輯上,元素之間是相鄰的;在實體記憶體中元素之間並無相鄰關係。 鏈式儲存邏輯結構 -基礎鏈式儲存結構的線性表中,每個節點都包含資料域和指標域 ·資
資料結構 筆記:順序表和單鏈表的對比分析
如何判斷某個資料元素是否存在於線性表中? find -可以為線性表(List)增加一個查詢操作 -int find(const T& e)const; ·引數: ~待查詢的資料元素 ·返回值: ~>= 0:資料元素線上性表中第一次出現的位置 ~-1:資料
大話資料結構筆記_線性表
線性表的定義 : 簡而言之 : 0 個 或 多個元素(型別相同)的有限序列( 有順序 ) , 第一個元素無前驅 , 最後一個元素無後繼 , 其他元素 與有唯一的前驅 和 唯一的後繼 數學語言定義 : 若將線性表記為 ( a1 , a2 , ..... , ai - 1 , ai , ai+1 , ..
資料結構 筆記:單鏈表的具體實現
LinkList設計要點 -類模板,通過頭結點訪問後繼結點 -定義內部結點型別Node,用於描述資料域和指標域 -實現線性表的關鍵操作(增,刪,查,等) template<typename T> class LinkList : public List<T>
資料結構 筆記:單鏈表的遍歷與優化
如何遍歷單鏈表中的每一個數據元素? 為單鏈表提供新的方法,線上性時間內完成遍歷 設計思路(遊標) -在單鏈表的內部定義一個遊標(Node* m_current) -遍歷開始前將遊標指向位置為0的資料元素 -獲取遊標指向的資料元素 -通過結點中的next指標移動遊標 提供一
資料結構實驗:線性表操作(一元多項式的運算)
title: 線性表操作(一元多項式的運算) date: 2018-10-26 11:22:37 tags: 資料結構 categories: 資料結構 線性表操作(一元多項式的運算) 實驗目的 1、定義線性表的鏈式儲存 2、實現對線性表的一些基本操作和具體函式定義
資料結構二:線性表的順序結構實現
此程式根據高一凡大神的源程式修改而成。/************************************************************* FileName:c2-1.h Function:定義線性表的動態分配順序儲存結構(動態分配的一維陣列) **
資料結構 筆記:樹的定義與操作
樹是一種非線性的資料結構 樹是由n(n>=0)個結點組成的有限集合 -如果 n = 0,成為空樹; -如果n > 0,則: ·有一個特定的稱之為根(root)的結點 ·根據點只有直接後繼,但沒有直接前驅 ·除根以外的其他結點劃分為m(m>=0)個互補相交的有
資料結構 筆記:圖的定義與操作
定義 -圖是由頂點集合(Vertex)及頂點間的關係集合(Edge)組成的一種資料結構 -Graph = (V,E) -V= 是頂點的有窮非空集合 -E=是頂點之間關係的有窮集合 無向邊 -頂點x和y之間的邊沒有方向,則稱該邊為無向邊 -<x,y> 與<
資料結構實驗一線性表的基本操作實現及其應用
一.實驗名稱 線性表的基本操作實現及其應用 二.實驗目的 熟練掌握線性表的結構特點,掌握順序表的基本操作。 學會使用順序表解決實際問題。 三.實驗內容 建立 n 個元素的順序表(n 的大小和表裡資料自己確定),實現相關的操作:輸出,插入,刪
【C#】【資料結構】001-線性表:順序表
C#資料結構:順序表結構 1、自定義順序表結構 using System.Collections; using System.Collections.Generic; /// <summary> ///線性表介面 /// </summary> /// <type
資料結構 筆記:靜態單鏈表的實現
單鏈表的一個缺陷 -觸發條件 ·長時間使用單鏈表物件頻繁增加和刪除資料元素 -可能的結果 ·堆空間產生大量的記憶體碎片,導致系統執行緩慢 新的線性表 設計思路: 在單鏈表的內部增加一片預留的空間,所有Node物件都在這片空間中動態建立和動態銷燬。 靜態單鏈表的實
資料結構 筆記:歸併排序和快速排序
歸併排序的基本思想 -將兩個或兩個以上的有序序列合併成一個新的有序序列 template < typename T> static void Merge(T src[] , T helper[],int begin,int mid,int end, bool mi
資料結構 筆記:氣泡排序和希爾排序
氣泡排序的基本思想 -每次從後向前進行(假設為第i次),j = n -1 ,n- 2,...,i,兩輛比較 V[j-1]和V[j]的關鍵字;如果發生逆序,則交換V[j-1]和V[j]. template <typename T> static void Bubble(T
資料結構 筆記:選擇排序和插入排序
選擇排序的基本思想 -每次(例如底 i 次,i = 0 ,1,...,n-2)從後面n-i個待排的資料元素中選出關鍵字最小的元素,作為有序元素序列底 i 個元素. template <typename T> static void Select(T array[] , i
【C#】【資料結構】002-線性表:單鏈表
C#資料結構:單鏈表 1、自定義單鏈表結構: 單鏈節點類 using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// 單鏈表節點 ///
資料結構實驗一:線性表的基本操作
// 186658-S181-李雙源.cpp : 定義控制檯應用程式的入口點。 //時間 2018-10-27 //內容:線性表的基本操作 #include "stdafx.h" #include <iostream> #include<s
Java之美[從菜鳥到高手演變]之資料結構基礎、線性表、棧和佇列、陣列和字串
Java面試寶典之資料結構基礎 —— 線性表篇作者:egg郵箱:[email protected]這部分內容作為計算機專業最基礎的知識,幾乎被所有企業選中用來作考題,因此,本章我們從本章開始,我們將從基礎方面對資料結構進行講解,內容主要是線性表,包括棧、佇列、陣列、