原创 【數據結構】【面試題】找N個數據中最大的K個數據

    如果不限定條件的話,這個問題還是很好解決的,但是當我們要求時間複雜度爲O(N),空間複雜度爲O(1)時,問題就沒那麼好解決了。    簡單的思路就是,創建一個大小爲K=100的小堆,調整好,然後從K開始拿十萬個數據一個一個跟堆頭比較

原创 【linux】linux下find指令的用法總結

前言:  先闡述下find指令是幹嘛的,爲什麼要來研究他呢?find指令是Linux下一個很重要的操作,因爲linux是一個“一切皆文件”的操作系統,find(查找文件)指令就尤爲重要了,在windows操作系統下,我們查找一個文件可以直接

原创 【數據結構】線索化二叉樹中序線索化的遞歸寫法和非遞歸寫法

  二叉樹是一種非線性結構,遍歷二叉樹幾乎都是通過遞歸或者用棧輔助實現非遞歸的遍歷。用二叉樹作爲存儲結構時,取到一個節點,只能獲取節點的左孩子和右孩子,不能直接得到節點的任一遍歷序列的前驅或者後繼。  爲了保存這種在遍歷中需要的信息,我們利

原创 【C++】日期類+日期萬年曆+日期計算器

    對於日期類,我們主要實現一下日期類的基本函數,構造,拷貝構造,運算符的重載,析構。當然這裏運算符的重載需要實現的還是挺多的,如:=、<、>、<=、>=、等#include <iostream> using namespace std

原创 《將博客搬至CSDN》

  由於各種原因,本人決定將博客搬遷到CSDN博客,以後有需要的可以來我的新博客地址來訪問:CSDN鏈接:http://blog.csdn.net/zangyuanan320

原创 【C++】智能指針的原始寫法、scoped寫法、shared寫法

  智能指針的三種常見寫法:  一、最開始的原始寫法,原始寫法可以理解爲指針轉移的方法。template<typename T> class AutoPtr { public:     AutoPtr()         :_ptr(NUL

原创 【Linux】CentOS下vim的配置

前言:    對於vim的配置,本人也在網上看了很多的方法,碰了很多 壁,所以就知道痛了。所以在下面給大家分享一下我如何配置vim的方法。配置環境  首先給說明下我的環境爲CentOS6.5的版本,對於CentOS的配置應該都沒有問題,但是

原创 【C語言】【面試題】C++中String類引用計數器的淺拷貝寫法與深拷貝寫法

Linux操作下String類的實現--引用計數器    1.引用計數器寫法一寫法一個人比較喜歡叫他雙指針法,因爲他是在類裏面創建了兩個指針來實現的一個是指針_str,另外一個是用來保存指向同一塊空間個數的指針_pRefCount.clas

原创 【數據結構】用模版實現大小堆、實現優先級隊列,以及堆排序

    一、用模版實現大小堆    如果不用模版的話,寫大小堆,就需要分別實現兩次,但是應用模版的話問題就簡單多了,我們只需要實現兩個仿函數,Greater和Less就行了,仿函數就是用類實現一個()的重載就實現了仿函數。這個看下代碼就能理

原创 【數據結構】位圖BitMap與布隆過濾器BloomFilter

  首先先看一下下面這個騰訊的面試題:給40億個不重複的無符號整數,沒排過序。給一個無符號整數,如何快速判斷一個數是否在這40億個數中。 【騰訊】思路一:  最容易想到的解法就是遍歷所有的40多億個整數,然後一個一個判斷。但是這個需要花費的

原创 U盤裝系統教程

  對於沒有接觸過裝系統的同學來說或許會覺得裝個系統會很難,其實並不是這樣的,其實就簡單的分爲兩大步:  一、製作U盤 二、進入設置裝機只是中間比較麻煩的過程在於下載鏡像文件,由於比較大的緣故,所以比較費時間,下載完後放入U盤的GHO中進入

原创 【C語言】【面試題】C++中String類淺拷貝,深拷貝的傳統寫法與現代寫法

C++ 的一個常見面試題是讓你實現一個 String 類,在這我把String類的各種寫法寫了一下    1.淺拷貝#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using nam

原创 【C語言】String類的寫時拷貝

有了引用計數器以後爲什麼還有寫時拷貝呢?    因爲當我有兩個String類s1,s2都是指向同一塊空間“helle”,當我想將s1修改成“hello”時,我只想將s1指向的空間修改,而不想將s2修改,顯然引用計數器不能解決這個問題,所以就

原创 【C++】菱形繼承與虛擬菱形繼承的對比分析

    在繼承中經常會遇到這種情況:有一個超類A,子類B1,B2繼承了A,而類D又繼承了父類B1,B2。在這種情況下如果按照我們以前的正常的菱形繼承的話會有一個問題是子類C會繼承兩次超類A中的成員,當在C中想訪問繼承來自B1,B2中A的元素