原创 數據結構:哈希表

哈希表 哈希函數:記錄的存儲位置和它的關鍵字之間建立一個確定的對應關係。 衝突:對不同的關鍵字可能得到同一哈希地址,這種現象稱爲衝突。 哈希函數構造方法 1.直接定址法 取關鍵字或關鍵字的某個線性函數值爲哈希地址,即: 或 2.數字分析法

原创 數據結構:靜態查找動態查找

概念 1、靜態查找 首先無論是靜態查找還是動態查找,都要有查找的對象,也就是包含很多同類型數據的“表”,這個“表”可以理解爲一個由同類型數據元素組成的一個“集合”,該集合可以用各種容器來存儲,例如數組、鏈表、樹等,我們統稱這些存儲數據的數

原创 機器學習:防止模型過擬合的方法

機器學習中造成過擬合的原因可能有以下幾點: (1)數據有噪聲 (2)訓練數據不足,有限的訓練數據 (3)訓練模型過度導致模型非常複雜 防止過擬合的方法: 1.提前停止: 對模型進行訓練的過程即是對模型的參數進行學習更新的過程,這個參數學習

原创 算法設計:動態規劃問題

適合採用動態規劃方法的最優化問題中的兩個要素:最優子結構和重疊子問題。 最優子結構: 用動態規劃求解最優化問題的第一步就是刻畫最優解的結構,如果一個問題的解結構包含其子問題的最優解,就稱此問題具有最優子結構性質。因此,某個問題是否適合應用

原创 算法中P,NP和NPC問題

一、概念 P問題:在多項式時間內可解的問題。 NP(Nondeterministic polynominal非確定性多項式)問題:在多項式時間內驗證得出一個正確解的問題。 P類問題是NP問題的子集,因爲存在多項式時間解法的問題,總能在多項

原创 數據結構:線性數據結構(4)-列表(棧,隊列,deques, 列表)

一、列表 1.1列表的抽象數據類型 列表是項的集合,其中每個項保持相對於其他項的相對位置。無序列表的結構是項的集合,其中每個項保持相對於其他項的相對位置。下面給出了一些可能的無序列表操作。 List() 創建一個新的空列表。它不需要參數,

原创 數據結構:線性數據結構(2)-隊列(棧,隊列,deques, 列表)

隊列:FIFO 1.隊列的抽象數據類型 隊列抽象數據類型由以下結構和操作定義。如上所述,隊列被構造爲在隊尾添加項的有序集合,並且從隊首移除。隊列保持 FIFO 排序屬性。隊列操作如下: Queue() 創建一個空的新隊列。 它不需要參數,

原创 數據結構:線性數據結構(1)-棧(棧,隊列,deques, 列表)

棧,隊列,deques, 列表是一類容器,他們數據項之間的順序由添加或刪除的順序決定,一旦一個數據項被添加,它相對於前後元素一直保持該位置不變。注入此類的數據結構稱爲線性數據結構。 棧 棧(棧,隊列,deques, 列表)是一個項的有序集

原创 數據結構:線性數據結構(3)-deques(棧,隊列,deques, 列表)

deque(也稱爲雙端隊列)是與隊列類似的項的有序集合。即使 deque 可以擁有棧和隊列的許多特性,它不需要由那些數據結構強制的 LIFO 和 FIFO 排序。這取決於你如何持續添加和刪除操作。 1.Deque抽象數據類型 deque

原创 數據結構與算法:樹與二叉樹python實現

數據結構與算法 二叉樹的遍歷 不知道你有沒有發現,二叉樹其實是一種遞歸結構,因爲單獨拿出來一個 subtree 子樹出來,其實它還是一棵樹。那遍歷它就很方便啦,我們可以直接用遞歸的方式來遍歷它。但是當處理順序不同的時候,樹又分爲三種遍歷方

原创 數據結構與算法:排序算法的穩定性以及各性能比較python實現

招聘筆試中經常會考到排序算法,在此做一個總結。 一、算法概念 1.排序算法的穩定性 假定在待排序的記錄序列中,存在多個具有相同的關鍵字的記錄,若經過排序,這些記錄的相對次序保持不變,即在原序列中,r[i]=r[j],且r[i]在r[j]

原创 python:copy()和deepcopy()區別

1.對象的賦值  都是進行對象引用(內存地址)傳遞,即‘’ b is a‘’ ,a 變 b 也變 2.copy.copy(x):淺拷貝 會創建一個新的對象,即 “b is not a” ,但是,對於對象中的元素,淺拷貝就只會使用原始元素的

原创 pandas:get_dummies()與pd.factorize()用法與區別

1.get_dummies() pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None,sparse=False, drop_f

原创 pandas:apply(),applymap(),map()

自己總結一下: 1.apply() Series.apply:For applying more complex functions on a Series。 對Series的值調用函數。可以是ufunc(一個適用於整個系列的NumPy函

原创 機器學習變量轉換(定性變量、定量變量)

爲了更好地討論問題,將模型的自變量分類。在模型裏使用的變量可以分爲兩類:數值型變量和類別型變量。如圖1所示。 一、定義 數值型變量,在學術上被稱爲定量變量(quantitative variable),如長度、收入、重量等。它們的數值表