資料結構 C 語言版 第1章 緒論 2

2021-12-30 00:39:30 字數 1858 閱讀 3320

1.3 數學預備知識

集合(set)是由一些確定的,彼此不同的成員(member)或者元素(element)構成的乙個整體。成員取自乙個更大的範圍,稱為基型別(base type)。集合中成員的個數稱為集合的基數(cardinality)。

集合的特性:

1) 確定性:任何乙個物件都能被確切地判斷是集合中的元素或不是。

2) 互異性:集合中的元素不能重複。

3) 無序性:集合中元素與順序無關。

1.3.4 遞迴

乙個演算法直接呼叫自己或間接地呼叫自己,就稱這個演算法是遞迴的(recursive)。根據呼叫方式不同,它分為直接遞迴(direct recursion)和間接遞迴(indirect recursion)。

遞迴演算法通常不是解決問題最有效的電腦程式,因為遞迴包含函式呼叫,函式呼叫需要時空開銷。

factorial(階乘) 函式:

c++ codes:

[cpp]   

#ifndef algri_h  

#define algri_h  

int factorial(int n); 

#endif 

#ifndef algri_h

#define algri_h

int factorial(int n);

#endif[cpp]   

#include "algri.h"  

#include "stdafx.h"  

int factorial(int n) 

#include "algri.h"

#include "stdafx.h"

int factorial(int n)

python codes:

[python] "algri.py" 

def factorial(n): 

if n<=0: 

return -1; 

elif n==1: 

return 1; 

else: 

return n*factorial(n-1); 

"algri.py"

def factorial(n):

if n<=0:

return -1;

elif n==1:

return 1;

else:

return n*factorial(n-1);[python] "program.py" 

from algri import factorial  

print factorial(10) 

"program.py"

from algri import factorial

print factorial(10)c# codes:

[csharp] class program   

static int factorial(int n) 

}     class program

static int factorial(int n)

}從.net的角度看,所謂的集合可以定義為一種物件,這種物件提供了結構化組織任意物件的方式,並且實現乙個或多個icollection、idictionary和system.collections.ilist介面。這一定義把system.collections命名空間中的「內建」集合劃分成了三種類別:

(1) 有序集合:僅僅實現icollection介面的集合。例如stack、queue。

(2) 索引集合:實現ilist的集合,其內容經由零開始的數字檢索取出。例如arraylist.

(3) 鍵式集合:實現idictionary介面的集合。idictionary集合的內容通常按鍵值方式儲存。例如hashtable類。

摘自 xufei96的專欄

《資料結構 C語言版 》 第1章 緒論

1.1 什麼是資料結構 1.2 基本概念和術語 資料 data 是對客觀事物的符號表示,在電腦科學中是指所有能輸入到計算機中並被電腦程式處理的符號的總稱。資料元素 data element 是資料的基本單位,在電腦程式中通常作為乙個整體進行考慮和處理。資料物件 data object 是性質相同的資...

資料結構(C語言版)第2版 第一章 緒論

1.2 使用c語言描述資料結構 1.3 演算法和演算法設計 1.4 演算法分析與度量 2 資料元素 資料的基本單位是資料元素,他是計算機處理或訪問的基本單位。例如 乙個考生名冊中的每乙個學生的記錄,乙個字串中的每乙個字元 乙個陣列的每乙個陣列成分都是資料元素。不同場合資料元素可以有別名,如元素 記錄...

資料結構 C 1 第 1 章 緒論

1.1.1 氣泡排序 時間複雜度,用大o記號 t n o n2 t n o n 2 t n o n2 void bubblesort1a n 1.1.2 演算法 演算法是指基於特定的計算模型,旨在解決某一資訊處理問題而設計的乙個指令序列。演算法應該具備 輸入與輸出,基本操作 確定性與可行性,難解性,...