原创 六種主流排序(冒泡、插入、選擇、快速、堆、歸併)類實現,性能測試與分析

----------------------------此模塊已上傳到Python內置pypi庫,可直接下載使用--------------- ----------------------------命令: sudo pip instal

原创 二叉樹的鏈表實現與遍歷

二叉樹是一種數據結構,我們知道,數組列表的查找效率高,但是插入或刪除的效率低,鏈表則相反,而樹的效率則剛好折中,集合了鏈表和數組的特性,特殊的是,它作爲一種非線性表,也有自身的優勢。 關鍵思想:指針,遞歸 思想:將其遞歸尋找其自身的左右

原创 C語言七彩貪喫蛇源代碼---AI自動尋徑,分數排行,數據保存,背景音樂難度設置等 控制檯小遊戲

------------------------------------------------------------------------------------------- 七彩貪喫蛇小遊戲V1.0         使用純C語言

原创 JWT, token的設計和驗證

JWT (json web token)是一種http request主流加密方式,相比傳統的token,JWT的優勢在於無狀態傳播,不需要存儲到數據庫,就可以實現安全令牌驗證,缺點是一經簽發,exp失效前令牌都會一直有效,此認證狀態無法

原创 使用python製作一款能破解ZIP/RAR壓縮包與WIFI密碼的整合多功能工具

  一個已經打包好的工具,有興趣的話可下載,還有機率解壓已破損的壓縮包,後期的代碼有些敏感就部公開了,只能用作使用忘記密碼後找回使用,請勿用作非法用途! 特點: 直接運行 支持多線程 自動運行,掛機 算法生成密碼字典 進度顯示,精確時間

原创 網上流傳的所謂冒泡排序加強版,真的加強了嗎?

最近看到很多博客都有寫到冒泡的改良版,大概的思路都是一樣的,然而我本人持懷疑態度,決定親自實驗測試一下,當然,如果強加班能讓冒泡大哥不再那麼累的對比,那對計算機也是一件極好的事情。 看了一下大概的改良思路,大致都是從以下兩點着手: 一、設

原创 電腦卡頓?用這個腳本打印出你家的電腦所有大文件看看什麼原因吧

背景: 最近C盤空間不知道爲什麼,剩餘量非常少,只有13個G,有時僅剩個位數,這還是清理過的存儲 查看了半天也找不到是哪個淘氣的大文件在佔用空間,一怒之下決定自己寫一個腳本跑跑看 既然自己做,用其他庫就沒意思了,當然os庫除外,連字典排序

原创 python使用os.walk 遍歷目錄下的所有文件夾及文件路徑

pyhon中的os庫內置了一個非常強大的工具os.walk工具,可以讓我們快速遍歷文件夾內的內容 每次執行後返回的對象是一個三元元組,root 當前的根目錄(相對dir而言), dirs 當前根目錄下的所有文件夾, file當前根目錄下的

原创 python裝飾器之屬性 @property與 @setter

 @property可以將方法僞裝爲屬性,供外部直接調用賦值。 因此,爲防止賦值錯誤,其內置了setter方法,可以直接做異常判斷 注意: @property裝飾的對象與@setter對象必須同名 這樣做的好處是,減少了大量重複代碼,減少

原创 30行代碼讓你徹底理解工廠裝飾器,閉包的原理

我們知道,函數內部是可以調用外部的數據的,但是外部的數據無法調用內部的數據 如果一個函數結束,它在其生命週期內所創建的數據都會被銷燬。 但是有的時候,我們卻十分需要一些函數內部的數據得以保存,希望這些數據不管函數是否存在,其都不被銷燬,並

原创 mysql結合socket編程,詞典項目

詞典項目 客戶端: """ dict client """ from socket import * from getpass import getpass import re ADDR = ('127.0.0.1',8000) #cr

原创 python賦值與變量誤區,is 和 == 的陷阱

很多時候,對變量的賦值容易產生誤區,如果對其理解的不透徹,會對程序產生意想不到的效果。。。   在python中,對於不可變變量與可變變量的賦值,是不一樣的,比如b=a,就是將a的地址索引傳遞給b,b和a其實指向同一個對象。如果這個對象是

原创 插入選擇冒泡快速,四種常見排序與效率測試

一、在常見的四種排序中(插入選擇冒泡快速),很多時候由於對其適用的環境不夠了解,我們可以嘗試將其包裝成一個類,並提供幾個可以直接調用的類方法,便於日後的測試與深入理解。 由於要進行效率測試,所以需要一個裝飾器作包裝類內部方法,但在設計上,

原创 鏈表棧與隊列的實現

隊列與棧的鏈表實現,做個備份,和列表實現換湯不換藥,大家自己看吧 隊列:   """ link queue """ from SQueue import QueueError class Node(): def __ini

原创 python鏈表類的實現,增改插刪

 鏈表作爲數據結構的基礎,二叉樹,隊列和棧都可以用它實現,相比數組其優勢是可以快捷方便的增改刪插,但是缺點是查詢不方便,爲便於理解寫可以對其進行包裝測試。 from Node import Node class LinkList(obj