資料結構之串和陣列基本知識和問題

2021-10-06 02:25:28 字數 2330 閱讀 8989

★★

1.串(又稱字串)是一種特殊的線性表,它的每個結點僅由乙個字元組成。

從資料結構的觀點來說,串是一種特殊的線性表;但就資料型別而言,串不是線性表。
**串( string )是零個或多個字元組成的有限序列。 一般記為s= 「 a0a1a2...an-1 」(n≥0,下標從0開始),其中s是串的名,用雙引號括起來的字串行是串的值。

將串值括起來的單引號本身不屬於串 , 它的作用是避免串與常數或與識別符號混淆。

2.長度為零的串稱為空串( empty string ),它不包含任何字元。 僅由乙個或多個空格組成的串稱為空白串

串的長度:串中字元的數目n(n ≥ 0)。

3.串中任意個連續字元組成的子串行稱為該串的子串。包含子串的串相應地稱為主串

** ①空串是任意串的子串**②任意串是其自身的子串

字元在串中的位置:字元在序列中序號。 子串在主串中的位置:子串的第0個字元在主串中的位置。例如:a="bei",b= "jing ",c="beijing",d="bei jing" //串長分別為3,4,7,8,且a,b都是c,d的子串。 兩串相等:兩個串對應位置的字元相等且長度相等。 兩個串的比較:從第乙個字元開始,每個字元按照ascii比較,整體按照英語字典的順序(前小,後大)。

串的邏輯結構和線性表的區別:

串的資料物件約束為字符集。

線性表的基本操作大多以「單個元素」為操作物件,而串的基本操作通常以「串的整體」作為操作物件。

串的模式匹配演算法(模式匹配(pattern matching) 即子串定位運算(index函式)—)

演算法目的:確定主串中所含子串第一次出現的位置(定位) ——即如何實現index(s,t,pos)函式

bf演算法 (又稱古典的、經典的、樸素的、窮舉的)kmp演算法 (特點:速度快)

初始條件:串s和t存在,t是非空串,1≤pos≤strlength(s)

操作結果:若主串s中存在和串t值相同的子串,則返回它在主串s中第pos個字元之後第一次出現的位置;否則函式值為0。

bf演算法設計思想:

將主串的第pos個字元和模式的第1個字元比較,

若相等,繼續逐個比較後續字元;

若不等,從主串的下一字元(pos+1)起,重新與第乙個字元比較。

直到主串的乙個連續子串字串行與模式相等 。返回值為s中與t匹配的子串行第乙個字元的序號,即匹配成功。

否則,匹配失敗,返回值 0 .

陣列的順序表示和實現 用一組連續的儲存單元存放陣列的資料元素。 有兩種順序映象的方式: 1)以行序為主序的儲存方式(低下標優先) 2)以列序為主序的儲存方式(高下標優先) 以「行序為主序」的儲存映象介紹: 設二維陣列am中每個元素佔l個儲存單元,則任一元素ai,j 的儲存位置: loc(i,j) = loc(0,0) + (n×i+j)×l

「陣列的處理比其它複雜的結構要簡單」

對的。因為:

① 陣列中各元素具有統一的型別;

② 陣列元素的下標一般具有固定的上界和下界,即陣列一旦被定義,它的維數和維界就不再改變。

③陣列的基本操作比較簡單,除了結構的初始化和銷毀之外,只有訪問元素和修改元素值的操作

三元素組表中的每個結點對應於稀疏矩陣的乙個非零元素,它包含有三個資料項,分別表示該元素的 行下標 、列下標和元素值

若採用三元組壓縮技術儲存稀疏矩陣,只要把每個元素的行下標和列下標互換,就完成了對該矩陣的轉置運算,這種說法正確嗎?

肯定不正確!

除了: (1) 每個元素的行下標和列下標互換(即三元組中的i和j互換);

還應該 (2) t的總行數mu和總列數nu與m值不同(互換);

(3) 重排三元組內元素順序,使轉置後的三元組也按行(或列)為主序有規律的排列。

​難點在3可以使用

壓縮轉置或者

(壓縮)快速轉置

解決思路:只要做到

 將矩陣行、列維數互換

 將每個三元組中的i和j相互調換

 重排三元組次序,使mb中元素以n的行(m的列)為主序

資料結構基本知識

資料結構基本知識 一 資料結構的基本概念 1.資料 是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合。解釋 簡單來說,樂壇,有成百上千的歌手,樂壇是眾多歌手的集合,可以把樂壇理解為計算機中的資料。2.資料元素 是組成資料的 有一定意義的基本單位,在計算機...

資料結構基本知識和理解

資料結構 基本知識 資料 data 資料是對客觀事物的符號表示。在電腦科學中,資料就是能夠輸入計算機中,被電腦程式處理的符號總總稱。資料元素 data element 資料元素是資料的基本單位。資料元素由若干個資料項組成 在計算機中,程式通常將資料元素當作乙個整體來處理 資料項 data item ...

資料結構 基本知識1

資料結構是研究組成資料的資料元素的學科。資料即資訊的載體,是能夠輸入到計算機中且能被計算機識別 儲存和處理的符號總稱。資料元素由若干資料項組成,資料項是資料中的最小單位。資料型別是對資料元素取值範圍與運算的限定。資料結構 ds 可用形式化語言描述,即ds是乙個二元組 ds d,r 其中,d為資料元素...