Ⅰ 數據結構和c語言有什麼區別
數據結構是數據及數據之間的關系,C語言只是一門編程語言,可以用C語言來寫程序,實現數據按照某種特定的關系來組織和管理數據(也就是實現數據結構),所以數據結構的課程會有不同的語言版本,其實就是用不同的語言來實現數據結構了。呵呵,不知道你明白沒有呢~~
Ⅱ 用C語言寫的數據結構的定義
在C語言中,結構體(struct)指的是一種數據結構,是C語言中聚合數據類型(aggregate data type)的一類。結構體可以被聲明為變數、指針或數組等,用以實現較復雜的數據結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員(member),且這些成員可以為不同的類型,成員一般用名字訪問。
在C語言中,定義一個結構的一般形式為:
struct結構名
{
//成員表列
};
成員表由若干個成員組成, 每個成員都是該結構的一個組成部分。對每個成員也必須作類型說明,其形式為:「類型說明符 成員名;」。成員名的命名應符合標識符的書寫規定。例如:
struct stu
{
int num;
char name[20];
char sex;
float score;
};
在這個結構定義中,結構名為stu,該結構由4個成員組成。 第一個成員為num,整型變數;第二個成員為name,字元型數組;第三個成員為sex,字元型變數;第四個成員為score,浮點型變數。 應注意在括弧後的分號是必不可少的。
然後,當結構定義完成後,即創建了一種數據類型,可以像int、float等內置類型一樣使用,以上面定義的stu結構體來和int類型對比著看。
int a;//定義一個int類型的變數a
stu a; //定義一個stu類型的變數a
int *p; //定義一個int類型的指針p
stu *p; //定義一個stu類型的指針p
int a[10];//定義一個int類型的數組a,它有10個元素,每個元素是int類型
stu a[10];//定義一個stu類型的數組a,它有10個元素,每個元素是stu類型。
Ⅲ c語言結構體是什麼
在C語言中,結構體(struct)指的是一種數據結構,是C語言中聚合數據類型(aggregate data type)的一類。
結構體可以被聲明為變數、指針或數組等,用以實現較復雜的數據結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員(member),且這些成員可以為不同的類型,成員一般用名字訪問。
結構體作用:
結構體和其他類型基礎數據類型一樣,例如int類型、char類型,只不過結構體可以做成你想要的數據類型。以方便日後的使用。
在實際項目中,結構體是大量存在的。研發人員常使用結構體來封裝一些屬性來組成新的類型。由於C語言內部程序比較簡單,研發人員通常使用結構體創造新的「屬性」,其目的是簡化運算。
結構體在函數中的作用不是簡便,其最主要的作用就是封裝。封裝的好處就是可以再次利用。讓使用者不必關心這個是什麼,只要根據定義使用就可以了。
Ⅳ ★ c語言中的線性數據結構是指什麼
線性結構和非線性結構是數據的邏輯結構,屬於《數據結構》課程的基本概念,
1.線性結構是n個數據元素的有序(次序)集合,指的是數據元素之間存在著「一對一」的線性關系的數據結構。
如(a1,a2,a3,.....,an),a1為第一個元素,an為最後一個元素,此集合極為一個線性結構的集合。
它有四個基本特徵
a.集合中必存在唯一的一個"第一個元素";
b.集合中必存在唯一的一個"最後的元素";
C.除最後元素之外,其它數據元素均有唯一的"後繼";
d.除第一元素之外,其它數據元素均有唯一的"前驅"。
常用的線性結構有:線性表,棧,隊列,雙隊列,數組,串。
2、非線性結構的邏輯特徵是一個結點元素可能對應多個直接前驅和多個後驅。
常見的非線性結構有:樹(二叉樹等),圖(網等)
,廣義表。
根據以上定義,你的選擇題答案為B。
A違反了線性特徵的第一條,有兩個根節點,一定是非線性
C
D都是線性結構!
Ⅳ c語言常見的數據結構有哪些
1、線性數據結構
元素之間一般存在元素之間存在一對一關系,是最常用的一類數據結構,典型的有:數組、棧、隊列和線性表。
2、樹形結構
結點間具有層次關系,每一層的一個結點能且只能和上一層的一個結點相關,但同時可以和下一層的多個結點相關,稱為“一對多”關系,常見類型有:樹、堆。
3、圖形結構
在圖形結構中,允許多個結點之間相關,稱為“多對多”關系。
(1)線性數據結構:元素之間一般存在元素之間存在一對一關系,是最常用的一類數據結構,典型的有:數組、棧、隊列和線性表
(2)樹形結構:結點間具有層次關系,每一層的一個結點能且只能和上一層的一個結點相關,但同時可以和下一層的多個結點相關,稱為“一對多”關系,常見類型有:樹、堆
(3)圖形結構:在圖形結構中,允許多個結點之間相關,稱為“多對多”關系
Ⅵ C語言課程設計報告中的數據結構是什麼
數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索演算法和索引技術有關。
其實在計算機專業,《數據結構》是一門課程, 主要就學些鏈表、堆棧、二叉樹等及一些排序、查找等演算法等。比較好的教材是清華大學 嚴蔚敏 主編的《數據結構》,網上也有很多視頻,不妨去看看。
Ⅶ C語言的數據結構是什麼
數據結構,data
strucure
是具有特定關系的數據元素的集合。它包含兩方面的信息:D+S
D
即數據元素的集合,也就是數據對象;S
數據元素間的關系,而這種關系指的是數據元素之間本身的關系
也叫做邏輯結構!而這種邏輯結構需要通過一種高級語言
比如c語言才能使得將這種邏輯結構在計算機中表現出來
也就是通過高級語言存儲結構。
Ⅷ 數據結構---C語言基礎
程序=演算法+數據結構
數據結構是設計OS、DBMS、編譯等系統程序和各種應用程序的重要基礎。
常見的數據結構有:數組、棧、隊列、表、串、樹、圖和文件等。
數據是什麼?
①雜亂的數據不能表達和交流信息
②數據之間是有聯系的
③數據之間是有結構的;
④在某種數據的結構上可以定義一組運算
程序設計的基本要素:
數據(Date) :所有能被計算機處理的符號的集合。
數據元素(Data Element) :數據這個集合中的單個個體。
數據項(Data Item) :數據元素常常被分為若干個數據項,數據項是數據具有意義的最小單位。
數據對象(Data Object) :具有相同特性的數據元素的集合。
數據結構(Data Structure) :是帶有結構的數據元素的集合。
邏輯結構(Logical Structure) :指數粗春據元素之間的結構關系。
物理結構(Physical Structure) :指數據結構在計算機內存中的表示。
物理結構的存放直接決定了邏輯結構的選擇。
什麼是演算法
演算法是一空基個有限的指令集,遵循指令流可以完成特定的功能。
演算法的基本特性:
如何衡量一個正確演算法的好壞?
演算法與程序的區別
主要區別在:有窮性、正確性和描述方法
程序可以是無窮的,例如OS。
演算法是有窮的;程序可以是錯誤的,演算法必須是正確的;
程序是用程序設計語言描述,在機器上可以執行;
演算法還可以用框圖、自然語言等方式描述。
衡量的三個標准:
運行所花費的時間(演算法的時間特性);
所佔用存儲空間的大小(演算法的空間特性);
其他(可讀性、易調性、健壯性、可移植性等)
時間和空間特性的巨大改進源於更好的數據結構或演算法。
為什麼要計算時間復雜度?
設:A1,A2和A3是求解同一問題的不同演算法,其時間復雜度分別為:O(n), O(nlogn), O(N!)。
C1和C2為計算機,且C2的計算速度是C1的10倍。
不必追求高效演算法,低效演算法可由高速斗凳謹計算機來彌補的看法,是錯誤的。