Time of Update: 2017-01-18
樹的定義樹是一種重要的非線性資料結構,直觀地看,它是資料元素(在樹中稱為結點)按分支關係組織起來的結構,很象自然界中的樹那樣。樹結構在客觀世界中廣泛存在,如人類社會的族譜和各種社會組織機構都可用樹形象表示。樹在電腦領域中也得到廣泛應用,如在編譯來源程式時,可用樹表示來源程式的文法結構。又如在資料庫系統中,樹型結構也是資訊的重要組織形式之一。一切具有層次關係的問題都可用樹來描述。樹結構的特點是:它的每一個結點都可以有不止一個直接後繼,除根結點外的所有結點都有且只有一個直接前驅。樹的遞迴定義如下:(
Time of Update: 2017-01-18
1.演算法描述:(1)共迴圈 n-1 次(2)每次迴圈中,如果 前面的數大於後面的數,就交換(3)設定一個標籤,如果上次沒有交換,就說明這個是已經好了的。2.python冒泡排序代碼複製代碼 代碼如下:#!/usr/bin/python# -*- coding: utf-8 -*-def bubble(l): flag = True for i in range(len(l)-1, 0,
Time of Update: 2017-01-18
1.演算法:對於一組關鍵字{K1,K2,…,Kn}, 首先從K1,K2,…,Kn中選擇最小值,假如它是 Kz,則將Kz與 K1對換;然後從K2,K3,… ,Kn中選擇最小值 Kz,再將Kz與K2對換。如此進行選擇和調換n-2趟,第(n-1)趟,從Kn-1、Kn中選擇最小值 Kz將Kz與Kn-1對換,最後剩下的就是該序列中的最大值,一個由小到大的有序序列就這樣形成。2.python 選擇排序代碼:複製代碼 代碼如下:def
Time of Update: 2017-01-18
1.演算法:設有一組關鍵字{ K 1 , K 2 ,…, K n };排序開始就認為 K 1 是一個有序序列;讓 K 2 插入上述表長為 1 的有序序列,使之成為一個表長為 2 的有序序列;然後讓 K 3 插入上述表長為 2 的有序序列,使之成為一個表長為 3 的有序序列;依次類推,最後讓 K n 插入上述表長為 n-1 的有序序列,得一個表長為 n 的有序序列。2.python插入排序代碼複製代碼 代碼如下:def
Time of Update: 2017-01-18
一、 演算法描述:1.先從數列中取出一個數作為基準數。2.分區過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。3.再對左右區間重複第二步,直到各區間只有一個數。 二、python快速排序代碼複製代碼 代碼如下:#!/usr/bin/python# -*- coding: utf-8 -*-def sub_sort(array,low,high): key = array[low] while
Time of Update: 2017-01-18
1.演算法:(設尋找的數組期間為array[low, high])(1)確定該期間的中間位置K(2)將尋找的值T與array[k]比較。若相等,尋找成功返回此位置;否則確定新的尋找地區,繼續二分尋找。地區確定如下:a.array[k]>T 由數組的有序性可知array[k,k+1,……,high]>T;故新的區間為array[low,……,K-1]b.array[k]<T
Time of Update: 2017-01-18
1.列表推導式書寫形式: [運算式 for 變數 in 列表] 或者 [運算式 for 變數 in 列表 if 條件]2.舉例說明:複製代碼 代碼如下:#!/usr/bin/python# -*- coding: utf-8 -*-li = [1,2,3,4,5,6,7,8,9]print [x**2 for x in li]print [x**2 for x in li if x>5]print dict([(x,x*10) for x
Time of Update: 2017-01-18
1.1 os.system(command)在一個子shell中運行command命令,並返回command命令執行完畢後的退出狀態。這實際上是使用C標準庫函數system()實現的。這個函數在執行command命令時需要重新開啟一個終端,並且無法儲存command命令的執行結果。1.2 os.popen(command,mode)開啟一個與command進程之間的管道。這個函數的傳回值是一個檔案對象,可以讀或者寫(由mode決定,mode預設是'r')。如果mode為'
Time of Update: 2017-01-18
python -> shell:1.環境變數複製代碼 代碼如下:import os var=123或var='123'os.environ['var']=str(var) #environ的索引值必須是字串 os.system('echo $var') 複製代碼 代碼如下:import os var=123或var='123'os.environ['var']=str(var)
Time of Update: 2017-01-18
《hadoop權威指南》的天氣資料可以在ftp://ftp3.ncdc.noaa.gov/pub/data/noaa下載,在網上看到這個資料好開心,開啟ftp發現個問題,呀呀,這麼多檔案啊,我一個個去點另存新檔,得點到啥時候啊,迅雷應該有批量下載,只是我沒找到,估計是我瀏覽器把迅雷禁掉了,乾脆自己用python寫一個實現下載好了,網上早了一下,發現很簡單啊複製代碼 代碼如下:#!/usr/bin/python#-*- coding: utf-8 -*-from ftplib import
Time of Update: 2017-01-18
1、首先找到一個線上成語網站2、查看網頁結構,定義正則式看一下要抓的成語的標籤有什麼特點,查看源碼,可以發現要抓的成語都在<a>標籤中,如:<a href="/cy0/93.html">安如磐石</a>,成語事實上就是一個瞄文本,不同成語指向的連結不同,其實也就"/cy0/93.html"中的數字不同,所以正則式裡匹配兩次數字就行了,定義正則式 reg = "<a href=\"/cy(\d+)/(\d+).html\">(
Time of Update: 2017-01-18
編碼問題因為涉及到中文,所以必然地涉及到了編碼的問題,這一次借這個機會算是徹底搞清楚了。問題要從文字的編碼講起。原本的英文編碼只有0~255,剛好是8位1個位元組。為了表示各種不同的語言,自然要進行擴充。中文的話有GB系列。可能還聽說過Unicode和UTF-8,那麼,它們之間是什麼關係呢?Unicode是一種編碼方案,又稱萬國碼,可見其包含之廣。但是具體儲存到電腦上,並不用這種編碼,可以說它起著一個中間人的作用。你可以再把Unicode編碼(encode)為UTF-8,或者GB,再儲存到電腦上
Time of Update: 2017-01-18
首先你要確保你機器上面安裝了python,其次,你還要確保你上面安裝了Django。接下來,才能進入到搭建第一個Django應用程式很簡單的操作,即在windows終端輸入代碼:複製代碼 代碼如下:1 django-admin.py startproject mysite即可,如:我是在我電腦的 E:\Python33\python_workspace 目錄下面建立項目的目錄是你自己定的運行命令:複製代碼 代碼如下:django-admin.py
Time of Update: 2017-01-18
複製代碼 代碼如下:# -*- coding: utf-8 -*-class Heap(object): @classmethod def parent(cls, i): """父結點下標""" return int((i - 1) >> 1);&
Time of Update: 2017-01-18
複製代碼 代碼如下:# -*- coding: utf-8 -*-class Heap(object): @classmethod def parent(cls, i): """父結點下標""" return int((i - 1) >> 1);&
Time of Update: 2017-01-18
複製代碼 代碼如下:# -*- coding: utf-8 -*-from random import randintfrom math import ceil, floordef _partition(A, l, r, i): """以A[i]為主元劃分數組A[l..r],使得: A[l..m-1] <= A[m] < A[m+1..r]
Time of Update: 2017-01-18
Beautiful Photo!: http://www.beautifulphoto.net/複製代碼 代碼如下:import urllib2import re_random_url = r'http://www.beautifulphoto.net/plugin/RndArticle/'_img_patt = re.compile(r'<img src="http://www\.beautifulphoto\.net/upload/(\d+)\.jpg" />')def
Time of Update: 2017-01-18
Gravatar登入位址: https://en.gravatar.com/複製代碼 代碼如下:"""`Gravatar <https://en.gravatar.com/site/implement/>`_"""# import code for encoding urls and generating md5 hashesimport urllib2, hashlib# Make response slow if verify whether default avatar or
Time of Update: 2017-01-18
RPC是Remote Procedure Call的縮寫,翻譯成中文就是遠程方法調用,是一種在本地的機器上調用遠端機器上的一個過程(方法)的技術,這個過程也被大家稱為“分散式運算”,是為了提高各個分立機器的“互通性”而發明出來的技術。XML-RPC的全稱是XML Remote Procedure
Time of Update: 2017-01-18
RESTful架構,目前是比較流行的一種互連網軟體架構。REST,即Representational State