原创 詳談內部排序之冒泡排序

冒泡排序 交換排序: ​ 兩兩比較待排序記錄的關鍵碼,如果發生逆序(即排列順序與排序後的次序正好相反),則交換之,直到所有記錄都排好序爲止 。 ​ 交換排序的主要算法有: ​

原创 詳談內部排序之希爾排序

希爾排序 基本思想: ​ 先將整個待排記錄序列分割成若干子序列,分別進行直接插入排序,待整個序列中的記錄“基本有序”時,再對全體記錄進行一次直接插入排序。 技巧: ​ 子序列的構成不是簡單地“逐段分割”

原创 詳談內部排序之各種插入排序

插入排序: 直接插入排序: 如上圖的插入撲克牌就是生活中最常見的插入排序。 直接插入排列過程: 先將序列中第 1 個記錄看成是一個有序子序列, 然後從第 2 個記錄開始,逐個進行插入,直至整個序列有序。 例題: 爲直接插入排序

原创 概述討論各種內部排序的特點

概述 排序: ​ 將數據元素的一個任意序列,重新排列成一個按關鍵字有序的序列。 例:將關鍵字序列:52, 49, 80, 36, 14, 58, 61, 23 ​ 調整爲:14, 23

原创 數據結構課設城市公交完整代碼(c語言)

以下是城市公交的完整代碼,如果需要實驗報告的可以點擊下面的鏈接: 數據結構課設城市公交查詢系統(C語言) 代碼如下: #include <stdio.h> #include <string.h> #include <stdlib.

原创 使用鏈表進行一元多項式的表示及相加(c++)

例題: 設有兩個一元多項式,將其進行相加。多項式如下: 設計思路: 依次比較Pa和Pb所指結點中的指數項,依Pa―>expn ( =、<、>) Pb―>expn等情況,再決定是將兩係數域的數值相加(並判其和是否爲0),還是將較高

原创 城市路徑問題—廣度優先搜算(BFS)

例題: 已知若干個城市的地圖,求從一個城市到另一個城市的路徑,要求該路徑經過的城市最少。 城市路線圖如下: 算法分析: 圖的廣度優先搜索類似於樹的層次遍歷,逐層搜索正好可以儘快找到一個結點與另一個結點相對與而言最直接的路徑。所以

原创 經典生兔子問題——遞歸方法

例題: 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子。假如兔子都不死,要求輸出一年內兔子的數量是多少。 分析: 該題是典型的斐波那契數列的一個實例應用。 我們可以先把前幾月的兔子數手動算

原创 用Java的多線程來寫一個簡單的龜兔賽跑

使用Java中線程Thread的知識來實現龜兔賽跑 代碼很簡單有需要注意的地方也已經在後面標出來了: class Animal implements Runnable { private String name;

原创 Java使用calendar編寫萬年曆

例題: 利用calendar等時間方法來實現萬年曆。 —————————————————————————————————————————————— 源代碼: public class calendar { static Dat

原创 數據結構課設城市公交查詢系統(C語言)

公交線路圖 一. 設計要求: 1、需要用到多個文件,例如文本文件,文件名stations.txt,保存站點信息,格式可以自行設計,例如:編號 站名。等等 2、設計公交線路所需的存儲結構,將文件中的數據讀入內存。 3、提供用戶操作

原创 使用鏈表進行一元多項式的表示及相加(不破壞原多項式)

例題: 設有兩個一元多項式,將其進行相加。多項式如下: 設計思路: 依次比較Pa和Pb所指結點中的指數項,依Pa―>expn ( =、<、>) Pb―>expn等情況,再決定是將兩係數域的數值相加(並判其和是否爲0),還是將較高

原创 上樓梯問題(Java版源碼)

樓梯上有n階臺階,上樓時可以選擇一步上1階,也可以一步上兩階,計算共有多少種不同的上樓梯方法。 在剛開始看着道題的時候,我們所慣有的思維就是從第一階開始,然後到第二階,第三階~~~~~ 這樣子很難來看出問題的規律。那我們就倒過來看

原创 汽車最少油耗穿越沙漠問題(Java源碼)

例題: 一輛吉普車穿越1000km的沙漠,吉普車的總裝油量爲500加侖,耗油率爲1加侖/km。由於沙漠中沒有油庫,必須先使用這輛車在沙漠中建立臨時的油庫(起點處吉普車滿油)。若吉普車用最少的耗油量穿越沙漠,應在那些地方建立油庫,以