原创 多態性(一)——靜態多態性

  多態性(polymorphism)是面向對象程序設計的一個重要特徵。在面向對象方法中,一般是這樣表述多態性的:向不同的對象發送同一個消息,不同的對象在接收時會產生不同的行爲。在C++中,多態性表現形式之一是:具有不同功能的函數可以用同

原创 repr()與str()

  本文討論兩個問題:1.repr()與str()的區別;2.repr()的還原 首先,我們先來看一段代碼,在代碼中我們來具體感受repr()和str()這兩個函數的區別。   rper()函數會將參數轉化爲解釋器讀取的形式,就是說re

原创 Linux下的MySQL安裝與簡單使用

MySQL在Linux下安裝尤爲方便,只需三條命令: ~$sudoapt-get install mysql-server ~$apt-getinsatll mysql-client ~$apt-getinstall libmysqlcl

原创 win 7下硬盤安裝Ubuntu(無需U盤)

我安裝的是Ubuntu-kylin-14.04.2,參考的教程是http://www.linuxidc.com/Linux/2014-04/100369.htm ,可能大家裝的Ubuntu的版本都不一樣,但無妨,大致步驟都是一樣的。

原创 C++——i++與++i

本文說說C++的自增(++) 下面是一道題: #include<iostream> using namesapce std; int main() {int i=1,j;printf("%d\n",++i);//(1)printf("%

原创 Python的替換函數——strip(),replace()和re.sub()

在Python中常用的三個“替換”函數是strip(),replace()和re.sub(),下面來講講這三個函數的用法。 一.replace() 基本用法:對象.replace(rgExp,replaceText,max) 其中,rgE

原创 揹包問題

揹包問題 一.問題重述 給定n個物品,價值分別是:v1,v2,...,vn,重量分別是:w1,w2,...,wn。現挑選物品放入承重爲W的揹包,使得揹包內物品的價值最大,且揹包內物品的總重量小於W.這裏假設承重都是正整數。 二.解決方案

原创 C++的繼承與派生(一)

  1.相關概念   面向對象程序設計有4個主要特點:抽象、封裝、繼承和多態性。其中,繼承性爲其最重要的特徵。   在C++中,“繼承”就是在一個存在的類的基礎上建立一個新的類。已存在的類稱爲“基類”或“父類”。新建立的類稱爲“派生類”或

原创 C++——試題(一般賦值語句的概念和方法)

這是一道從《C和C++程序員面試祕笈》上摘錄下來的題目 #include<iostream> using namespace std; int main() {     int x=3,y=0,z=0;     x *=(y=z=4);

原创 C++學習筆記(一)

  一.問題的求解   在日常生活裏,我們對於問題的求解採取的一般步驟爲:明確問題->理解問題->尋找備選方案->從備選列表中找出最好的解決方案->列出所選方案的執行步驟->評價解決方案。   而事實上,解決問題的方案可以大致地分爲兩類:

原创 幣值最大化問題

問題:給定一排n個硬幣,其面值均爲整數c1, c2, ..., cn, 這些整數並不一定兩兩不同。問如何選擇硬幣,使得在其原始位置互不相鄰的條件下,所選硬幣的總金額最大。 解決方案——遞歸法: 設對n個硬幣,所選硬幣最大總額爲F(n

原创 python學習小記

本文通過在實現一個python程序時遇到的一些問題來學習python程序。好,廢話少說,先上代碼: #coding=gbkdb={}#註冊新用戶def newuser(): prompt='login desired:' globa

原创 算法的基本概念

  所謂算法是指解決方案的準確而完整的描述。   對於一個問題,如果可以通過一個計算機程序,在有限的存儲空間內運行有限的時間,而得到正確的結果,則稱這個問題是算法可解的。但算法不等於程序,也不等於計算方法。當然,程序也可以作爲算法的一種描