原创 C++編程練習(14)-------“單例模式”的實現

單例模式 單例模式是一種常用的軟件設計模式。在它的核心結構中只包含一個被稱爲單例類的特殊類。通過單例模式可以保證系統中一個類只有一個實例而且該實例易於外界訪問,從而方便對實例個數的控制並節約系統資源。如果希望在系統中某個類的對象只能存在

原创 五種常用算法之一:貪心算法

貪心算法 貪心算法(又稱貪婪算法)是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的僅是在某種意義上的局部最優解。貪心算法不是對所有問題都能得到整體最優解,但對範圍相當廣泛的許多問題他能產生

原创 五種常用算法之四:回溯法

回溯法 回溯法(探索與回溯法)是一種選優搜索法,按選優條件向前搜索,以達到目標。但當探索到某一步時,發現原先選擇並不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的技術爲回溯法,而滿足回溯條件的某個狀態的點稱爲“回溯點”。 基

原创 C++ 構造函數和析構函數的調用順序、虛析構函數的作用

構造函數和析構函數的調用順序 構造函數的調用順序: 當建立一個對象時,首先調用基類的構造函數,然後調用下一個派生類的構造函數,依次類推,直至到達最底層的目標派生類的構造函數爲止。 析構函數的調用書序: 當刪除一個對象時,首先調用該派生類的

原创 五種常用算法之五:分支限界法

分支限界法 基本思想: 分支限界法常以廣度優先或以最小耗費(最大效益)優先的方式搜索問題的解空間樹。 在分支限界法中,每一個活結點只有一次機會成爲擴展結點。活結點一旦成爲擴展結點,就一次性產生其所有兒子結點。在這些兒子結點中,導致不可行解

原创 Android 開發學習記錄(4)---- httpclient使用(三)

之前在Android 開發學習記錄(3)---- httpclient使用(二)中介紹瞭如何使用httpclient訪問需要賬戶登錄的網址,當然首先是要有一個合法的登錄賬戶。 但是現在好多網站在登錄時不僅僅要求你輸入賬號、密碼,還要求你

原创 TCP協議中的三次握手和四次揮手(圖解)

來源:http://blog.csdn.net/whuslei/article/details/6667471 TCP協議中的三次握手和四次揮手(圖解) 建立TCP需要三次握手才能建立,而斷開連接則需要四次握手。整個過程如下圖所示:

原创 C++編程練習(15)----“排序算法 之 歸併排序“

歸併排序 歸併排序(Merging Sort)的原理: 假設初始序列含有 n 個記錄,則可以看成是 n 個有序的子序列,每個子序列的長度爲1,然後兩兩歸併,得到 [n/2] ([ x ] 表示不小於 x 的最小整數)個長度爲 2 或 1

原创 C++編程練習(13)----“排序算法 之 堆排序“

堆排序 堆是具有下列性質的完全二叉樹:每個結點的值都大於或等於其左右孩子結點的值,稱爲大頂堆(也叫最大堆);或者每個結點的值都小於或等於其左右孩子結點的值,稱爲小頂堆(也叫最小堆)。 最小堆和最大堆如下圖示: 可以發現:根結點一定是堆中

原创 常見網絡端口 和 常見網絡協議

常見網絡端口 端口:0   服務:Reserved   說明:通常用於分析操作系統。端口:1   服務:tcpmux   說明:這顯示有人在尋找SGI Irix機器。端口:7   服務:Echo   說明:能看到許多人搜索Fr

原创 程序的內存分配

程序的內存分配 一個由C/C++編譯的程序佔用的內存分爲以下幾個部分 1、棧區(stack)― 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似於數據結構中的棧。 2、堆區(heap) ― 一般由程序員分配釋

原创 編程練習------C/C++分別實現字符串與整數的轉換

C/C++分別實現字符串與整數的轉換 前提:不使用 itoa 和 atoi。  方法一.C和C++通用的一種轉換手段是: 1、整數轉化爲字符串:採用加‘0’,再逆序的辦法,整數加‘0’就會隱性轉化成char類型的數字。 2、字符串轉化爲整

原创 分治、動態規劃、貪婪 之 算法分析

分治、動態規劃、貪婪  之 算法分析 分治與動態規劃都用到了遞歸的思想,但是對他們之間的區別在概念上一直比較模糊,今天附帶貪婪選擇稍微整理一下他們。 算法之道上說,標準分治、動態規劃、貪婪選擇稱得上是孫子兵法的下、中、上策。標準分治雖然

原创 C++編程練習(17)----“二叉樹非遞歸遍歷的實現“

二叉樹的非遞歸遍歷 最近看書上說道要掌握二叉樹遍歷的6種編寫方式,之前只用遞歸方式編寫過,這次就用非遞歸方式編寫試一試。 C++編程練習(8)----“二叉樹的建立以及二叉樹的三種遍歷方式“(前序遍歷、中序遍歷、後續遍歷) 遞歸的思想也就

原创 IPv4地址學習總結

一. IPv4地址格式 網絡互連的一個重要前提條件是要有一個有效的地址結構,並且所有的互連網絡用戶都應遵守這個地址結構。因爲只有這樣所有的互連網絡用戶才能在統一的規定下相互之間通訊。這個地址結構可以有許多不同的形式,可以用二進制表示、十進