★★串
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)bf演算法設計思想:操作結果:若主串s中存在和串t值相同的子串,則返回它在主串s中第pos個字元之後第一次出現的位置;否則函式值為0。
將主串的第pos個字元和模式的第1個字元比較,陣列的順序表示和實現 用一組連續的儲存單元存放陣列的資料元素。 有兩種順序映象的方式: 1)以行序為主序的儲存方式(低下標優先) 2)以列序為主序的儲存方式(高下標優先) 以「行序為主序」的儲存映象介紹: 設二維陣列am中每個元素佔l個儲存單元,則任一元素ai,j 的儲存位置: loc(i,j) = loc(0,0) + (n×i+j)×l若相等,繼續逐個比較後續字元;
若不等,從主串的下一字元(pos+1)起,重新與第乙個字元比較。
直到主串的乙個連續子串字串行與模式相等 。返回值為s中與t匹配的子串行第乙個字元的序號,即匹配成功。
否則,匹配失敗,返回值 0 .
「陣列的處理比其它複雜的結構要簡單」
對的。因為:三元素組表中的每個結點對應於稀疏矩陣的乙個非零元素,它包含有三個資料項,分別表示該元素的 行下標 、列下標和元素值① 陣列中各元素具有統一的型別;
② 陣列元素的下標一般具有固定的上界和下界,即陣列一旦被定義,它的維數和維界就不再改變。
③陣列的基本操作比較簡單,除了結構的初始化和銷毀之外,只有訪問元素和修改元素值的操作
若採用三元組壓縮技術儲存稀疏矩陣,只要把每個元素的行下標和列下標互換,就完成了對該矩陣的轉置運算,這種說法正確嗎?
肯定不正確!除了: (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為資料元素...