原创 常見算法題

一、維護O(1)時間查找最大元素的棧 問題描述:一個棧stack,具有push和pop操作,其時間複雜度皆爲O(1)。設計算法max操作, 求棧中的最大值,該操作的時間複雜度也要求爲O(1)。 可以修改棧的存儲方式,push,po

原创 在python中編寫socket服務端模塊(一):使用select

在linux上編寫socket服務端程序一般可以用select、poll、epoll三種方式,本文主要介紹使用select編寫socket服務端模塊與客戶端模塊。 服務器端程序代碼: import socket import selec

原创 strlen與sizeof的區別

strlen與sizeof的區別1.sizeof操作符的結果類型是size_t,它在頭文件中typedef爲unsigned int類型。該類型保證能容納實現所建立的最大對象的字節大小。 2.sizeof是算符,strlen是函數。

原创 linux 使用中括號進行條件判斷

“#”代表空格,不可缺少 [# param1#op# param2 #] 這種帶比較操作符的形式,op左右必須使用空格隔開. 如 [# “3”==”2” #]  這種缺少空格的寫法會得到結果“true”,當然實際應爲”false”.

原创 給一個正整數N,打印NxN的蛇形矩陣(二) 之空間複雜度O(1)

當N=4時,對應的蛇形矩陣如下圖: 圖 1 將該蛇形矩陣中元素的座標代替其元素值時,得到如圖2的矩陣,此時橫座標i和縱座標j的和m=i+j具有一定的規律。當m爲偶數時,原矩陣(圖1中矩陣)中的元素值沿左下方增大,當m爲奇數時,原

原创 在python中編寫socket服務端模塊(二):使用poll或epoll

在linux上編寫socket服務端程序一般可以用select、poll、epoll三種方式,本文主要介紹使用poll和epoll編寫socket服務端模塊。 使用poll方式的服務器端程序代碼: import socket impor

原创 堆排序的圖解過程與其他比較排序算法視頻地址

首先可以看到堆建好之後堆中第0個數據是堆中最大的數據。取出這個數據再執行下堆的刪除操作。這樣堆中第0個數據又是堆中最大的數據,重複上述步驟直至堆中只有一個數據時就直接取出這個數據。 由於堆也是用數組模擬的,故堆化數組後,第一次將A[0]與

原创 Python *與** 參數問題

問題:      Python的函數定義中有兩種特殊的情況,即出現*,**的形式。      如:def myfun1(username, *keys)或def myfun2(username, **keys)等。 解釋:   * 用

原创 python import與from...import....的區別

在python用import或者from...import來導入相應的模塊。模塊其實就一些函數和類的集合文件,它能實現一些相應的功能,當我們需要使用這些功能的時候,直接把相應的模塊導入到我們的程序中,我們就可以使用了。這 類似於C語言中的