原创 快速排序算法優化(基準選取、快速+插入、基數聚集)

本文主要是關於快速排序算法的優化,想了解各種排序算法的基礎原理請看 圖解常用十大排序算法 快速排序算法優化 我們直到快速排序算法利用了分治的思想,即將一組序列分割成獨立的兩部分(俗稱劃分),其中一部分的數據比另一部分的數據小,然後

原创 Python學習之路------列表操作(齊全)

列表 序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。序列都可以進行的操作包括索引,切片,加,乘,檢查成員。 創建一個列表 list_name = [elem1,elem2,…]

原创 Linux學習之路-----終端界面、初探任務執行及help、man page等幫助命令

在終端登錄Linux 常常我們打開Linux系統是進入到X Window的窗口管理器環境(就是像Windows的桌面環境一樣),但同樣Linux也有命令行界面的環境。 Linux在默認的情況下會提供六個終端來讓用戶登錄,且換方式爲

原创 微機原理與接口技術課程思維導圖式總結

本學期學了《微機原理與接口技術》,因爲之前自己在實驗室自學過單片機原理與應用,因此在本學期老師上課講的知識自己就比較容易懂,在複習周就閒的沒事總結了下《微機原理與接口技術》這門課的總結,也算是回顧下自己所學的知識吧,同時也希望可以

原创 圖解十大排序算法(希爾排序、快速排序、堆排序、歸併排序、基數排序等)

圖解十大排序算法 學了數據結構之後,決定好好再回顧一下這幾種排序算法,加深一下自己的印象的同時也希望能夠幫助到大家理解這些算法和思想。 如果發現錯誤可以私信或評論哈! 首先先介紹一下排序算法的分類: 我們接下來介紹的是內部排序中

原创 Python每日一練算法之二進制求和

問題描述: 給定兩個二進制字符串,返回他們的和(二進制表示) 問題示例: 輸入a=11,b=1,輸出res = 100 代碼實現: class Solution: def addBinary(self,a,b):

原创 Python每日一練算法之各位相加(遞歸)

問題描述: 給出一個非負整數num,反覆將所有位的數字相加,直到得出一個位數位1的整數。 問題示例: 給出num=38,相加的過程位3+8 = 11,1+1 = 2,輸出2 代碼實現: 很明顯,就是一個遞歸調用的解題思路 clas

原创 python擴展庫numpy學習

numpy簡介 NumPy是 Python 語言的一個擴展程序庫,支持大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。它整合了C/C++代碼的工具,使用時又很像Matlab,還包括了線性代數、傅里葉變換、隨機數生

原创 單鏈表基本操作Python實現

最近在學數據結構的C語言實現,同時希望加深自己對數據結構的理解,想要用Python也實現一下,但是Python實現相比C實現代碼顯得簡而易懂。 鏈表的定義 採用鏈式存儲結構的線性表稱爲鏈表 分類 從鏈接方式:單鏈表、循環鏈表、雙鏈

原创 PHP數組應用及學習小結

PHP數組 數組是一個能在單個變量中存儲多個值的特殊變量,一種將values映射到keys的類型。 數組類型: 數值數組:帶有數字ID鍵的數組 關聯數組:帶有指定鍵的數組 多維數組:包含一個或多個數組的數組 創建數組用arra

原创 Python學習之正則表達式基礎及運用

Python正則表達式 在說Python正則表達式的運用前先講下正則表達式的一些知識,方面大家理解。 正則表達式 正則表達式描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個

原创 Python算法訓練:collections.deque()的應用---“對稱數”

問題描述: 對稱數是一個旋轉180°後看起來一樣的數,找到所有長度爲n的對稱數。 問題示例: 輸入n=2,輸出[“11”,“69”,“88”,“96”] 代碼實現: 本例運用到了collections模塊,並使用了模塊中的dequ

原创 Python學習之路-----字典操作

字典 字典是一種可變容器類型,且可存儲任意類型對象 字典的沒個鍵值對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中,格式如下: dict = {key1 : value, key2 : value2,

原创 Python面向對象---類的基本使用

面向對象 類(class):是一種用來描述具有相同屬性和方法的對象的集合。 類變量:類變量在整個實例化的對象中是公用的。一般定義在類中且在函數體之外。 方法:類中的函數 數據成員:類變量或者實例變量用於處理類及其實例對象的相關的數

原创 Python學習之路----元組簡介

元組 元組與列表類似,不同之處在於元組的元素不能修改。 所謂元組的不可變指的是元組所指向的內存中的內容不可變 元組的創建 元組創建只需要在括號中添加元素,並使用逗號隔開即可。 tup1 = ('Google', 'Runoob',