本文借鑒于張廣河教授主編的《數(shù)據(jù)結(jié)構(gòu)》,對(duì)其中的代碼進(jìn)行了完善。從某源點(diǎn)到其余各頂點(diǎn)的最短路徑Dijkstra算法可用于求解圖中某源點(diǎn)到其余各頂點(diǎn)的最短路徑。假設(shè)G={V,{E}}是含有n個(gè)頂點(diǎn)的有向圖,以該圖中頂點(diǎn)v為源點(diǎn),使用Dijkstra算法求頂點(diǎn)v到圖中其余各頂點(diǎn)的最短路徑的基本思想如下:使用集合S記錄已求得最短路徑的終點(diǎn),初始時(shí)S={v}。選擇一條長(zhǎng)度最小的最短路徑,該路徑的終點(diǎn)w屬于V-S,將w并入S,并將該最短路徑的長(zhǎng)度記為Dw。對(duì)于V-S
系統(tǒng) 2019-09-27 17:53:14 1958
無(wú)論你是否清楚這個(gè)事實(shí),Python實(shí)際上已經(jīng)不是一門年輕的編程語(yǔ)言了。雖然它也不如其它一些語(yǔ)言那么年長(zhǎng),但它仍然比大部分人所想的要更老一些。它第一次發(fā)布的時(shí)間是在1991年,雖然這些年它也經(jīng)歷了相當(dāng)大的改變,但它現(xiàn)在的用處跟當(dāng)時(shí)并沒(méi)有什么差別。實(shí)際上,這只是它最近這些年變得流行的原因之一:它是一個(gè)面向企業(yè)和第一流項(xiàng)目的、基于生產(chǎn)的語(yǔ)言,而且它有著長(zhǎng)久的歷史。它可以被用做幾乎任何事情,這也是它被認(rèn)為是“多功能”的原因。你既可以創(chuàng)建一個(gè)樹莓派應(yīng)用,又可以用P
系統(tǒng) 2019-09-27 17:53:06 1958
python入門之語(yǔ)句,包括if語(yǔ)句、while語(yǔ)句、for語(yǔ)句,供python初學(xué)者參考。//if語(yǔ)句例子name='peirong';ifname=='peirong':print'thisispeirong';elifname=='maojun':print'thisismaojun';else:print'others';//while語(yǔ)句i=0;a=range(10);whilei
系統(tǒng) 2019-09-27 17:52:55 1958
將做工程過(guò)程中重要的一些代碼段收藏起來(lái),下面代碼段是關(guān)于python檢測(cè)RabbitMQ的狀態(tài)是否正常的代碼。importsocketdefcheck_aliveness(ip,port):sk=socket.socket(socket.AF_INET,socket.SOCK_STREAM)sk.settimeout(1)try:sk.connect((ip,port))print'serviceisOK!'returnTrueexceptExceptio
系統(tǒng) 2019-09-27 17:52:41 1958
json.load讀取文件(file),解析為json對(duì)象(dict類型);json.loads讀取字符串(string),解析為json對(duì)象;json.dump寫文件(file),將json對(duì)象寫入文件;json.dumps寫字符串,將json對(duì)象寫成string。importjsonimportosjson_obj={'name':'Michael','age':13}print("jsondict:",type(json_obj))#json對(duì)象是一
系統(tǒng) 2019-09-27 17:52:39 1958
mkvirtualenv-ppython3環(huán)境名創(chuàng)建虛擬環(huán)境rmvirtualenv環(huán)境名刪除環(huán)境進(jìn)入虛擬環(huán)境workon環(huán)境名(workon+tab可以出來(lái)所有環(huán)境)查看環(huán)境下所有包pip3list查看環(huán)境下安裝的包(不包括原生python包)pip3freeze依賴包文件生成pip3freeze>requirements.txt環(huán)境導(dǎo)入依賴包pip3install-rrequirements.txt普通安裝pip3install包名這是linux下的指
系統(tǒng) 2019-09-27 17:52:34 1958
1.鎖:Lock(1次放1個(gè))同步鎖線程安全,多線程操作時(shí),內(nèi)部會(huì)讓所有線程排隊(duì)處理。如:list/dict/Queue線程不安全+人=>排隊(duì)處理。需求:a.創(chuàng)建100個(gè)線程,在列表中追加8b.創(chuàng)建100個(gè)線程v=[]鎖-把自己的添加到列表中。-在讀取列表的最后一個(gè)。解鎖以后鎖一個(gè)代碼塊:importthreadingimporttimev=[]lock=threading.Lock()deffunc(arg):lock.acquire()#鎖的區(qū)域---
系統(tǒng) 2019-09-27 17:52:33 1958
一、安裝MySQL-python復(fù)制代碼代碼如下:#yuminstall-yMySQL-python二、打開數(shù)據(jù)庫(kù)連接復(fù)制代碼代碼如下:#!/usr/bin/pythonimportMySQLdbconn=MySQLdb.connect(user='root',passwd='admin',host='127.0.0.1')conn.select_db('test')cur=conn.cursor()三、操作數(shù)據(jù)庫(kù)復(fù)制代碼代碼如下:definsertdb(
系統(tǒng) 2019-09-27 17:52:20 1958
我們首先來(lái)看下python的全部代碼,大家可以直接復(fù)制后測(cè)試:#-*-encoding:utf-8-*-importloggingimportwmiimportosimporttimefromConfigParserimportConfigParserimportsmtplibfromemail.mime.textimportMIMETextimportsocketfromdatetimeimportdatetimeimportreimportsysimp
系統(tǒng) 2019-09-27 17:52:12 1958
在python中,一個(gè)函數(shù)就是一個(gè)作用域name='xiaoyafei'defchange_name():name='肖亞飛'print('在change_name里的name:',name)change_name()#調(diào)用函數(shù)print("在外面的name:",name)運(yùn)行結(jié)果如下:在change_name里的name:肖亞飛在外面的name:xiaoyafei我們?cè)僭囈幌略谇短缀瘮?shù)中是如何的尋找的?age=15deffunc():print('第一層
系統(tǒng) 2019-09-27 17:51:15 1958