您好,登錄后才能下訂單哦!
本篇內容主要講解“C語言基礎知識有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C語言基礎知識有哪些”吧!
算法:是指解題方案的準確而完整的描述。
算法的基本特征:
(1)可行性:算法原則上可以精確執行,而且人們用紙和筆做有限次運算后即可完成。
(2)確定性:算法中每一步驟都必須有明確定義,不允許有模棱兩可和多義性的解釋。
(3)有窮性:算法必須能在有限的時間內做完,即能在執行有限個步驟后終止,包括合理的執行時間的含義;
(4)擁有足夠的情報:通常是指輸入和輸出。
算法的基本要素:一是對數據對象的運算和操作;二是算法的控制結構。
對數據對象的基本運算包括:算術運算、邏輯運算、關系運算、數據傳輸。
算法的控制結構包括:順序結構、選擇結構、循環結構。
算法基本設計方法:列舉法、歸納法、遞推、遞歸、減半遞推技術、回溯法。
算法復雜度:算法時間復雜度和算法空間復雜度。
算法時間復雜度是指執行算法所需要的計算工作量。
算法空間復雜度是指執行這個算法所需要的內存空間。
數據結構研究的三個方面:
(1)數據集合中各數據元素之間所固有的邏輯關系,即數據的邏輯結構;
(2)在對數據進行處理時,各數據元素在計算機中的存儲關系,即數據的存儲結構;
(3)對各種數據結構進行的運算。
數據結構是指相互有關聯的數據元素的集合。
數據的邏輯結構包含:
(1)表示數據元素的信息;
(2)表示各數據元素之間的前后件關系。
數據的邏輯結構是對數據元素之間邏輯關系的描述。
常用的數據的存儲結構有順序、鏈接、索引等。
線性結構條件:
(1)有且只有一個根結點;
(2)每一個結點最多有一個前件,也最多有一個后件。
非線性結構:不滿足線性結構條件的數據結構。
線性表是由一組數據元素構成,數據元素的位置只取決于自己的序號,元素之間的相對位置是線性的。
在復雜線性表中,由若干項數據元素組成的數據元素稱為記錄,而由多個記錄構成的線性表又稱為文件。
非空線性表的結構特征:
(1)有且只有一個根結點,且其無前件;
(2)有且只有一個終端結點,且其無后件;
(3)除根結點與終端結點以外,其他所有結點有且只有一個前件,也有且只有一個后件。
結點個數n稱為線性表的長度,當n=0時,稱為空表。
線性表的順序存儲結構具有以下兩個基本特點:
(1)線性表中所有元素的所占的存儲空間是連續的;
(2)線性表中各數據元素在存儲空間中是按邏輯順序依次存放的。
順序表的常見操作是插入和刪除。
棧是限定在一端進行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。
棧按照“先進后出”(FILO)或“后進先出”(LIFO)組織數據,棧具有記憶作用。用top表示棧頂位置,用bottom表示棧底。
棧的基本運算:(1)插入元素稱為入棧運算;(2)刪除元素稱為退棧運算;(3)讀棧頂元素是將棧頂元素賦給一個指定的變量,此時指針無變化。
隊列是指允許在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表。Rear指針指向隊尾,front指針指向隊頭。
隊列是“先進先出”(FIFO)或“后進后出”(LILO)的線性表。
隊列運算包括(1)入隊運算:從隊尾插入一個元素;(2)退隊運算:從隊頭刪除一個元素。
循環隊列:s=0表示隊列空,s=1且front=rear表示隊列滿
數據結構中的每一個結點對應于一個存儲單元,這種存儲單元稱為存儲結點,簡稱結點。
結點由兩部分組成:(1)用于存儲數據元素值,稱為數據域;(2)用于存放指針,稱為指針域,用于指向前一個或后一個結點。
在鏈式存儲結構中,存儲數據結構的存儲空間可以不連續,各數據結點的存儲順序與數據元素之間的邏輯關系可以不一致,而數據元素之間的邏輯關系是由指針域來確定的。
鏈式存儲方式即可用于表示線性結構,也可用于表示非線性結構。
線性鏈表,HEAD稱為頭指針,HEAD=NULL(或0)稱為空表,如果是兩指針:左指針(Llink)指向前件結點,右指針(Rlink)指向后件結點。
線性鏈表的基本運算:查找、插入、刪除。
到此,相信大家對“C語言基礎知識有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。