原创 練習六: 排序(二維數組)

#define LeftChild(i)(2 * (i) + 1) #define Cutoff 3 插入排序 void InsertionSort(char(*A)[20], int N) { int j, P; cha

原创 練習八:圖的綜合實驗

選址問題 【基本要求】 給定n個村莊之間的交通圖。若村莊i和j之間有路可通,則i和j用邊連接,邊上的權值Wij表示這條道路的長度。 現打算在這n個村莊中選定一個村莊建一所醫院。編寫如下算法: (1)求出該醫院應建在哪個村莊,才能

原创 Chapter 9 Graph (1)

圖的鄰接表表示 #include <stdio.h> #include <stdlib.h> #define MaxVertexNum 100 //最大頂點數設爲100 typedef int Vertex;

原创 Chapter 5 Hasing

散列(分離鏈接法) #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> #define KEYLENGTH 15

原创 Chapter 2 Algorithm-Analysis

最大子序列問題的解 #include <stdio.h> int MaxSubsequenceSum(int A[], int N) { int ThisSum, MaxSum, j; ThisSum = MaxSum =

原创 練習三:任務調度

某一個調度系統,具體描述如下: (1) 調度任務存放在一個文本文件中,每一行一個調度任務。 (2) 每個調度任務包含任務名稱、任務開始時間、以及執行任務需要的總時間。 (3) 假設每個任務每次可以得到的執行的時間爲2分鐘,當它執行

原创 練習二:運算

設計一個“自動計算器”,具體描述如下: (1)需要計算的表達式以文本文件格式存放在TXT文本之中; (2)文本中每一行爲一個表達式; (3)表達式中包含運算數、加、減、乘、除等運算符以及圓括號; 比如: (34-72.3)*54.

原创 練習七:圖的基本操作

1)用鄰接矩陣存儲方式,表示下面的圖,並輸出。 2)由上面的鄰接矩陣產生鄰接表,並輸出。 3)編程完成從頂點0開始的深度優先遍歷和廣度優先遍歷。 #include <stdio.h> #include <stdlib.h> #d

原创 1. 計算機系統概述

1.1 爲什麼要學習計算機系統基礎 1.用系統思維分析問題 2.什麼是計算機系統 3.計算機系統基礎內容提要 1.2 計算機系統基本組成與基本功能 1.計算機發展史 (1) 第1臺通用電子計算機 19

原创 第5章 運輸層

第5章 運輸層 5.1 運輸層協議概述 5.1.1 進程之間的通信 從通信和信息處理的角度看,運輸層向它上面的應用層提供通信服務,它屬於面向通信部分的最高層,同時也是用戶功能中的最低層。 當網絡的邊緣部分中的兩個主機使用網絡的

原创 第4章 網絡層(3)

第4章 網絡層 4.7 IP 多播 4.7.1 IP 多播的基本概念 1. 多播可大大節約網絡資源 2. IP 多播 在互聯網上進行多播就叫做 IP 多播。 互聯網範圍的多播要靠路由器來實現。能夠運行多播協議的路由器稱

原创 第4章 網絡層(2)

第4章 網絡層 4.4 網際控制報文協議ICMP 爲了提高 IP 數據報交付成功的機會,在網際層使用了網際控制報文協議 ICMP (Internet Control Message Protocol)。 ICMP 允許主機或路由器

原创 第4章 網絡層(1)

第四章 網絡層 4.1 網絡層提供的兩種服務 在計算機網絡領域,網絡層應該向運輸層提供怎樣的服務(“面向連接”還是“無連接”)曾引起了長期的爭論。 爭論焦點的實質就是:在計算機通信中,可靠交付應當由誰來負責?是網絡還是端系統? 1

原创 12. 重定位及動態鏈接

12.1 符號的重定位 1. 重定位步驟 2. 重定位信息 3. 重定位操作舉例 (1)源文件 (2)鏈接結果 (3)R_386_PC32的重定位 main.o重定位前 R_386_PC32的重定位方式 (4) R_3

原创 11. 符號和符號解析

11.1 符號及符號表 1. 符號的定義和引用 局部變量temp分配在棧中,不會在過程外被引用,因此不是符號定義 2. 連接符號的類型 (1)三種類型 每個可重定位目標模塊m都有一個符號表,它包含了在m中定義和引用的符號,有三種鏈接