原创 桶排序

對位數相同的浮點數進行排序的常規方法 這裏用整數代替浮點數實現 借用哈西查找的方式分桶已達到大小整塊分離的目的 桶內各自排序 再將桶連接起來則理論上排序完成 ---C語言實現 ---桶內數據放入時排序 ---整數代替浮點數 ---實現

原创 基數排序

基於非比較的排序 通過以數據不同位分別爲基準裝桶的操作達到排序的目的 有LSD和MSD 即低位優先和高位優先兩種裝桶方法 ---C語言實現 ---以兩位數爲例 ---LSD #include <stdio.h> #include <

原创 字典樹查找

字典樹查找 像做了一本小字典一樣 有趣  單詞排序和計數這樣的小功能沒有加上去 基本實現一下 ---C語言實現 ---實現了字典樹的創建 查找 空間釋放 ---本次實現以26個小寫字母爲準 ---釋放空間爲遞歸釋放 #includ

原创 堆排序

創建最大(小)堆用於排序  實際上最大(小)堆是一隻平衡二叉樹 最大堆則任意父節點值大於子節點 最小堆反之 從小到大排序用最大堆 反之 排序原理是用堆頂與最右葉子結點互換 並斷開最右葉子節點 葉子節點輸出 整棵樹調整之後重複操作 直至結

原创 歸併排序

分治法的典型排序 左右分別分割再排序合併 以達到排序的目的 ---C語言實現 #include <stdio.h> #include <stdlib.h> #include <windows.h> //遍歷數組 void LoopF

原创 冒泡算法及針對有序的優化

冒泡排序是一種內交換排序  簡單但天然 此次實現了基本的冒泡排序 和 針對數據已經有序或尾部有序的情況 減少不必要的循環 從而實現優化 ---C語言實現 ---優化:針對已經有序 或 尾部有序減少不必要的循環 #include <s

原创 快速排序

分治法排序 設定標準數據 將小於標準數的數放在標準數左 大於的放右邊 在對標準數左右分別執行相同操作 直到無法分治 ---C語言實現 ---用 挖坑填補法 和 區間分割法 實現了兩個不同版本 ---可優化: -------------

原创 哈希查找

哈希查找(散列表查找) 步驟:1.確定散列函數及解決衝突的方法            2.根據散列函數建造哈希表            3.進行哈希查找 解決衝突方法:1.開放地址->(1.線性探測 2.線性補償探測 3.隨機探測 4.

原创 選擇排序

也許比冒泡排序更加天然? 哈哈 上代碼吧 ---C語言實現 #include <stdio.h> #include <stdlib.h> //遍歷數組 void LoopForArr(int arr[],int length) {

原创 希爾排序

插入類中的排序  數據量多的時候插入排序的優勢就越發的不明顯了 希爾對數據做了基本的排序 基本的哦 然後再用直接插入排一次 避免對已有序部分過分遍歷 引入了步長的概念 即對數據進行分組 ---C語言實現 #include <std

原创 插入排序

像玩撲克抓牌那樣排序 哈哈 例子很俗套?  但形象啊朋友 ---C語言實現 #include <stdio.h> #include <stdlib.h> //遍歷數組 void LoopForArr(int arr[],int l

原创 計數排序

基於非比較原則的一種排序 適用於大量重複而且密集的數據 ---C語言實現 #include <stdio.h> #include <stdlib.h> #include <windows.h> //遍歷數組 void LoopFo

原创 氣溫分佈圖——線型圖

跟着書做的   從已有的.csv數據文件中提取有效的最高氣溫和最低氣溫繪製成線型圖 ---Python語言實現 ---matplotlib第三方庫 temperature.py import csv from matplot

原创 python3在windows下的編碼問題

做小例子時 從github上面扒一些字節流下來 系統爲windows10 從powershell下輸出 pirint函數竟然直接扔了個異常出來: UnicodeEncodeError: 'gbk' codec can't encode

原创 擲骰子——柱狀圖

跟着書做的 通過隨機模擬骰子的擲點情況 通過第三方庫畫成柱形圖 輸出到.svg文件 ---Python語言實現 ---pygal第三方庫 ---實現了: ------------- 1.單個六面骰子擲點 -----------