原创 在ubuntu16.04中一鍵創建LAMP環境 新系統

  在ubuntu16.04中一鍵創建LAMP環境   執行命令apt-get update。 執行命令apt-get install lamp-server^。 在安裝過程中會跳出Mysql數據庫root用戶密碼設置窗口,按要求

原创 python3練習題:併發編程(21-25)

關於python3中的併發編程,經過這些天的學習,歸納如下: #practice21:多線程 線程的定義 方法一:直接Thread()構造 方法二:構造Thread的子類 #多線程的使用 from urllib.re

原创 玩轉OpenVswitch:簡介

一、OVS簡介 Openvswitch是一個優秀的開源軟件交換機,支持主流的交換機功能,比如二層交換、網絡隔離、QoS、流量監控等,而其最大的特點就是支持openflow,openflow定義了靈活的數據包處理規範。爲用戶提供L1

原创 玩轉OpenVswitch(一):端口與網橋

一、準備工作 操作系統:ubuntu 18.04 docker: 18.06.1-ce 要想在自己筆記本上進行較爲複雜的網絡拓撲模擬,除了藉助ovs,還需要有docker這個神器,docker安裝就不贅述了,貼個鏈接: https:/

原创 玩轉OpenVswitch 簡介

一、OVS簡介 Openvswitch是一個優秀的開源軟件交換機,支持主流的交換機功能,比如二層交換、網絡隔離、QoS、流量監控等,而其最大的特點就是支持openflow,openflow定義了靈活的數據包處理規範。爲用戶提供L2-L

原创 歸併排序(迭代法)

歸併排序 一、思路(自下而上迭代) 4 9 2 7 1 1、以區間大小sz=1劃分數組,即在長度爲1的區間內進行merge排序。 4|9|2|7|1 2、sz*2,繼續上述過程,注意:最後一個元素只有一個,不過沒關係,__merge

原创 棧的實現與應用

一、棧的實現 方法一:就使用list即可 先進後出 方法二:定義Stack,抽象出棧 class Stack: #棧的python實現 def __init__(self): self.items = [] de

原创 插入排序及其優化

插入排序 複雜度O(n**2),用筆模擬過程可輕鬆得出 一、思路 index 0 1 2 3 4 5 value 4 3 2 6 4 8 1、選定起始指針index=0,此時已排好順序的子數組長度爲1(就是list[0]==4) 2

原创 雙端隊列的實現與應用

抽象數據類型dequeue 一、實現 方法1 from collections import dequeue 方法2 基於list class Dequeue(): def __init__(self): self

原创 冒泡排序及其優化

冒泡排序 一、思路 1、在數組[0,n)上 2、從i=0開始,不斷比較list[i]與list[i+1],順序的話不做調整;逆序的話交換二者位置。 3、i+1 4、當i = n-2時,1次遍歷結束,最大值到了正確位置 5、在剩餘數組中

原创 隊列的實現與應用

抽象數據類型queue的定義 實現了以下數據結構與操作方法的數據類型稱爲queue 一、隊列的python實現 方法一:標準庫 from queue import Queue 基於list實現 class Queue():

原创 列表的實現與應用

抽象數據結構list python內置實現了list;但list是一種通用數據結構,類似於c++中的vector 下面使用鏈表來實現list;python內置list使用數組(array.Array模塊)來實現 list的數據結構

原创 歸併排序的實現及其優化(遞歸法)

歸併排序 一、思路(遞歸) list = [a,b,c,d] 1、 遞歸過程 1、數組一分爲2,list1 = [a,b] list2 = [c,d] 2、先確立遞歸項:分別對list1/list2做歸併排序,此時可以假設左右子數組已

原创 Python內置數據結構及其複雜度

爲了使用python實現複雜數據結構與算法,需要藉助python內置的基礎和數據結構,主要是list和dict,明白這兩種數據結構各操作的複雜度對於問題求解以及計算複雜度有着至關重要的作用。 一、list 1、內部使用數組實現 2、缺

原创 選擇排序及其優化

選擇排序 複雜度:O(n**2) 一、思路 index 0 1 2 3 4 ... n-1 n value 3 1 2 5 4 ... 8 思考過程: 1、在整個數組[0,n)內尋找最小值1,將其與list[0]交換位置:1 3