原创 淺談"優先級"與"結合性"的誤區

寫在前面: 開門見山,相信大家都見到過這到例題(簡略代碼) int a,b,c; a=b=c=1; int x =(++a || ++b && ++c); 計算後 a=2 b=1 c=1; 拿到這道題立馬查看了優先級順序,發

原创 Linux進程管理——fork()和寫時複製

寫在前面:         寫時複製技術最初產生於Unix系統,用於實現一種傻瓜式的進程創建:當發出fork( )系統調用時,內核原樣複製父進程的整個地址空間並把複製的那一份分配給子進程。這種行爲是非常耗時的,因爲它需要: ·

原创 編程思想:淺談回溯法

寫在前面:        回溯法非常適合由多個步驟組成的問題,並且每個步驟都有多個選項。當我們在某一步選擇了其中一個選項時,就進入下一步,然後又面臨新的選項。我們就這樣重複選擇,直至達到最終的狀態。        通常回溯法算法適

原创 全實例認識C++函數指針的用法

寫在前面:直接開門見山的分析代碼實例 c語言函數指針使用舉例: #include <stdio.h> #include <stdlib.h> int fun1() { printf("this is fun1 call\

原创 c++:流與輸入輸出運算符的重載

寫在前面: 問題:        什麼叫做流?流的提取和插入是指什麼?I/O 流在 C++中起着怎樣的作用? 解答:        流是一種抽象,它負責在數據的生產者和數據的消費者之間建立聯繫,並管理數據的流動,一般意義下的讀操作

原创 算法:貪心算法和動態規劃

寫在前面: 動態規劃和貪心算法這幾天真的是讓我很費神。今天,就拎出來好好在這說一說。 舉例:給你一根長度爲n的繩子,請把繩子剪成m段,請問最終每段繩子長度的乘積最大值是多少?例如,當繩子的長度爲8時,我們剪成3,3,2三段,最大乘

原创 淺談將一個字符串轉換爲整數

       前一段時間刷到“把一個字符串轉換爲整數”這道題。據說是微軟面試開發工程師最常用到的一個問題。寫出了最終版本之後,竟然花費了大量的時間,這讓我感到自己考慮問題還不是那麼全面。所以,以此爲例,一來想好好記住這個解題方法;

原创 數據庫關係運算:自然連接,投影,交,除,並

1.自然連接 自然連接(natural join) 自然連接是一種特殊的等值連接,他要求兩個關係表中進行比較的必須是相同的屬性列,無須添加連接條件,並且在結果中消除重複的屬性列。 sql語句:Select …… from 表1 na

原创 linux同步與異步、阻塞與非阻塞概念以及五種IO模型

1、概念剖析 相信很多從事linux後臺開發工作的都接觸過同步&異步、阻塞&非阻塞這樣的概念,也相信都曾經產生過誤解,比如認爲同步就是阻塞、異步就是非阻塞,下面我們先剖析下這幾個概念分別是什麼含義。 同步: 所謂同步,就是在發出一個功

原创 數據結構: 堆的相關操作

寫在前面:          這幾天花了一些時間將“數據結構—堆”的相關操作和邏輯原理捋了捋。今天簡明扼要的做一下小結。          在正式看“堆”之前,大家先讀一下我在百度截取的關於堆的定義。 那麼,我截取這句話的目的就在於

原创 數據結構二叉樹相關代碼總結(供自己複習)

二叉樹的建立: //二叉樹的二叉鏈表結構,也就是二叉樹的存儲結構,1個數據域,2個指針域(分別指向左右孩子) typedef struct BiTNode { ElemType data; struct BiTNo

原创 數據結構學習:淺談單鏈表與雙鏈表的區別

Ok,不多說廢話,先附上相關代碼。 我們這裏採用的是不帶頭單鏈表和帶頭結點的循環雙向鏈表供大家參考。 單鏈表 typedef struct SListNode { int data ; struct SListNode* next

原创 單鏈表:帶頭結點和不帶頭結點 總結

寫在前面:        一直以來,帶頭結點和不帶頭節點的單鏈表的操作實現困擾着我。在沒有理解和實現之前,光憑思考真的是很難理解清楚 1.兩者之間代碼的差異; 2.帶不帶頭結點的區別; 3.帶頭結點之後,什麼情況下形參必須傳二級指針(

原创 數據結構:棧和隊列

順序棧: #pragma once // 數據類型 typedef int SDataType; // 利用靜態順序表實現棧 #define MAX_LEN (100) typedef struct { SDataType a

原创 平行算法:二進制表示中1的個數

平行算法         一般是指許多指令得以同時進行的計算模式。在同時進行的前提下,可以將計算的過程分解成小部分,之後以併發方式來加以解決,或指用多臺處理機聯合求解問題的方法和步驟,其執行過程是將給定的問題首先分解成若干個儘量相互獨