原创 通訊協議那點事之不會學協議?

進入通信行業,你會發現,無論在哪個崗位,都繞不開“協議”。前輩大牛們不斷叨叨:“一定要學好協議”、“有問題翻翻協議”、“實現符不符合協議”。 協議到底是什麼?爲什麼大家都在強調協議的重要性?學習協議有哪些注意事項?今天小編就給大家

原创 樹的應用之優先隊列和二叉堆的python實現

優先隊列 優先隊列的出隊與隊列一樣,均是從隊首出隊,但是在優先隊列內部,數據項的次序是由“優先級”來確定:高優先級的數據在隊首,低優先級的數據項則排在後面。 優先隊列的實現——二叉堆(Binary Heap) 二叉堆邏輯結構上像二

原创 排序算法的python實現及算法分析——歸併排序(merge sort)和快速排序(quick sort)

5 歸併排序 歸併排序的思路是將數據表持續分裂成爲兩半,分別對兩半進行歸併排序,然後在合併,其過程爲遞歸算法。每個步驟爲: 歸併排序實例 python實現源碼 ## 歸併算法 def merge_sort (lst):

原创 “映射”抽象數據類型:ADT Map的python實現與散列衝突簡介

python最有用的數據類型之一爲“字典”,其是一種可以保存key-data鍵值對的數據類型。這種鍵值關聯的無序集合稱爲“映射Map” 映射特點:(1)關鍵碼具有唯一性; (2) 通過關鍵碼可以唯一確定一個數據值。 映射支持以下

原创 樹的定義與屬性及python實現

樹的定義: 樹由若干節點、以及兩兩連接節點的邊組成,並有如下性質: (1)其中一個節點被設定爲根; (2)每個節點n(除根節點)都恰連接一條來自節點p的邊; (3)每個節點從根開始的路徑是惟一的; 另外一種定義(遞歸定義):樹是空

原创 (排序算法的python實現及算法分析——插入排序(insertion sort)和謝爾排序(Shell Sort)

3 插入排序 原理:插入排序維持一個已排好序的子列表,其位置始終位於列表的前部,然後逐步擴大這個子列表至全表。 插入排序的比對主要是用來尋找“新項”的插入位置 通過比對,移動,然後將新項插入合適位置 python實現插入排序:

原创 排序算法的python實現與算法分析——冒泡排序(Bubble Sort)與選擇排序(Selection Sort)

1 冒泡排序: 對無序表進行多次比較排序,分別比較兩兩相鄰的數據並互換逆序數據項,第一趟實現最大項就位,第二趟實現次大項就位,經過n-1次實現整表排序。 第一趟排序過程: python實現源碼: ##冒泡排序 普通版 def

原创 5G承載網中光模塊特點

引言 在光通信中,業務信息的傳送與接收都是靠光模塊來實現的。在發送端,光模塊完成電/光轉換,光在光纖中傳輸,然後在接收端實現光/電轉換。可以說,沒有光模塊就沒有光通信。 在我們所熟悉的PTN,IPRAN網絡中,通常分爲接入、匯聚城

原创 排序算法的python實現及算法分析——二分查找(Binary Search)

二分查找: 在有序表的前提下采用分而治之(從中間項開始),這樣對比範圍就可以縮小爲n/2, 查找過程與實現原理: 將問題分解爲若干更小規模部分的問題,並將結果彙總得到原問題的解 python實現代碼: ###二分查找 普通版

原创 排序算法的python實現與算法分析——順序查找(Sequential Search)

順序查找 如果從類似於列表這樣的集合中,按照順序來訪問和查找數據項,這種技術成稱爲“順序查找” 無序表順序查找,python代碼: ##無序表順利查找 def sequentialsearch(alist,item): p

原创 常用線性結構——無序列表(Underedlist)的鏈表python實現

定義 無序列表:一種數據項按照相對位置存放的數據集 被稱爲“無序表unordered list”。 爲了簡單起見,我們假設列表不能包含重複項:例如,整數 54,26,93,17,77 和 31 的集合可以表示考試分數的簡單無序

原创 遞歸應用——貪心策略解決找零問題的python實現

引言 找零問題:兌換最少個數的硬幣 貪心策略:每次以最多數量的最大面值的硬幣來迅速減少找零面值,若有餘額,再到下一個最大面值的硬幣,還用盡量多的數量,逐面值查找,直接面值爲1結束。 遞歸條件 基本結束條件:需要兌換的找零,其面值正

原创 動態規劃應用——盜賊選重物和硬幣找零問題的python實現

算法定義: 1.採用更爲條理的方式得到問題的最優解 2.從最簡單問題的最優解開始,逐步疊加到問題的解法 例如:找零兌換的動態規劃解法就是在金額遞加時,設法保證每一分錢的遞加都是最優解,因此,待到求解金額數,自然得到最優解。 3.

原创 python繪圖 ——繪製常用圖形(matplotlib、pyecharts、plotly)

1 plotly畫柱狀圖和折線圖 #柱狀圖+折線圖 import plotly.graph_objects as go fig = go.Figure() fig.add_trace( go.Scatter(

原创 python編程—常用文件操作彙總

Python文件IO操作涉及文件讀寫操作,獲取文件後綴名,修改後綴名,獲取文件修改時間,壓縮文件,加密文件等操作。 1 獲取後綴名 import os file_ext = os.path.splitext('./data/py