• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 34,comments - 2,trackbacks - 0
            10 2011 檔案
            歸并排序      摘要: 歸并排序(Merge sort)是建立在歸并操作上的一種有效的排序算法,該算法是采用分治法。
              申請空間,使其大小為兩個已經(jīng)排序序列之和,該空間用來存放合并后的序列
              設(shè)定兩個指針,最初位置分別為兩個已經(jīng)排序序列的起始位置
              比較兩個指針?biāo)赶虻脑兀x擇相對小的元素放入到合并空間,并移動指針到下一位置
              重復(fù)步驟3直到某一指針達(dá)到序列尾   閱讀全文
            posted @ 2011-10-13 19:34 Yu_ 閱讀(275) | 評論 (0)  編輯
            一些常見的C/C++題目(一)      摘要: 1、static有什么用途?(請至少說明兩種)
            (1).限制變量的作用域(變量、函數(shù)只能在該文件中使用)
            (2).設(shè)置變量的存儲域 (在全局區(qū)分配內(nèi)存)
              閱讀全文
            posted @ 2011-10-12 00:21 Yu_ 閱讀(705) | 評論 (0)  編輯
            指針與sizeof
            posted @ 2011-10-11 23:43 Yu_ 閱讀(673) | 評論 (3)  編輯
            內(nèi)存池基本      摘要: 1、為什么使用內(nèi)存池?
            通常我們習(xí)慣直接使用new、malloc等API申請分配內(nèi)存,這樣做的缺點在于:由于所申請內(nèi)存塊的大小不定,當(dāng)頻繁使用時會造成大量的內(nèi)存碎片并進(jìn)而降低性能。
              閱讀全文
            posted @ 2011-10-11 08:45 Yu_ 閱讀(429) | 評論 (0)  編輯
            線程池的使用(轉(zhuǎn))      摘要: 為什么要使用線程池:
            創(chuàng)建多線程應(yīng)用程序是非常困難的。需要會面臨兩個大問題。
            一個是要對線程的創(chuàng)建和撤消進(jìn)行管理,另一個是要對線程對資源的訪問實施同步 。 
              閱讀全文
            posted @ 2011-10-10 09:25 Yu_ 閱讀(845) | 評論 (0)  編輯
            線程與內(nèi)核對象的同步      摘要: 若干種內(nèi)核對象,包括進(jìn)程,線程和作業(yè)。可以將所有這些內(nèi)核對象用于同步目的。對于線程同步來說,這些內(nèi)核對象中的每種對象都可以說是處于已通知或未通知的狀態(tài)之中。

            例如::當(dāng)進(jìn)程正在運行的時候,進(jìn)程內(nèi)核對象處于未通知狀態(tài),當(dāng)進(jìn)程終止運行的時候,它就變?yōu)橐淹ㄖ獱顟B(tài)。進(jìn)程內(nèi)核對象中是個布爾值,當(dāng)對象創(chuàng)建時,該值被初始化為FALSE(未通知狀態(tài))。當(dāng)進(jìn)程終止運行時,操作系統(tǒng)自動將對應(yīng)的對象布爾值改為TRUE,表示該對象已經(jīng)得到通知。當(dāng)線程終止運行時,操作系統(tǒng)會自動將線程對象的狀態(tài)改為已通知狀態(tài)。因此,可以將相同的方法用于應(yīng)用程序,以確定線程是否不再運行。
              閱讀全文
            posted @ 2011-10-08 00:10 Yu_ 閱讀(401) | 評論 (0)  編輯
            線程通信與同步      摘要: 線程需要在下面兩種情況下互相進(jìn)行通信:
            ? 當(dāng)有多個線程訪問共享資源而不使資源被破壞時。
            ? 當(dāng)一個線程需要將某個任務(wù)已經(jīng)完成的情況通知另外一個或多個線程時。
              閱讀全文
            posted @ 2011-10-07 23:58 Yu_ 閱讀(416) | 評論 (0)  編輯
            線程      摘要: 1、線程的組成
            (1)、一個是線程的內(nèi)核對象,操作系統(tǒng)用它管理線程。內(nèi)核對象還是系統(tǒng)用來存放線程統(tǒng)計信息的地方。
            (2)、一個線程堆棧,用于維護(hù)線程執(zhí)行時所需的所有函數(shù)參數(shù)和局部變量。
              閱讀全文
            posted @ 2011-10-07 23:10 Yu_ 閱讀(257) | 評論 (0)  編輯
            進(jìn)程間通信與同步      摘要: 討論三個問題:
            1、進(jìn)程間如何通信呢,如何來相互傳遞信息呢?
            (1)、低級通信:只能傳遞狀態(tài)和整數(shù)值(控制信息)
            –信號量(semaphore)
            –信號(signal)
            (2)、高級通信:能夠傳送任意數(shù)量的數(shù)據(jù)
            –共享內(nèi)存(shared memory)
            –消息傳遞(message passing)
            –管道(pipe)
              閱讀全文
            posted @ 2011-10-07 15:44 Yu_ 閱讀(1380) | 評論 (0)  編輯
            進(jìn)程管理      摘要: 1、什么是進(jìn)程?
            ::一般將進(jìn)程定義成一個正在運行的程序的一個實例。進(jìn)程由兩部分組成:
            ①、一個內(nèi)核對象,操作系統(tǒng)用它來管理進(jìn)程。內(nèi)核對象也是系統(tǒng)保存進(jìn)程統(tǒng)計信息的地方。
            ②、一個地址空間,其中包含所有執(zhí)行體(executable)或DLL模塊的代碼和數(shù)據(jù)。此外,它還包含動態(tài)內(nèi)存分配,比如線程堆棧和堆的分配。
              閱讀全文
            posted @ 2011-10-07 11:19 Yu_ 閱讀(412) | 評論 (0)  編輯
            內(nèi)核對象      摘要: 1、什么是內(nèi)核對象?
            內(nèi)核對象的數(shù)據(jù)結(jié)構(gòu)只能由內(nèi)核訪問。
            他們有:令牌(access token)對象、事件對象、文件對象、文件映射對象、I/O完成端口對象、作業(yè)對象、mailslot對象、mutex對象、pipe對象、進(jìn)程對象、semaphore對象、線程對象、waitable timer對象以及thread pool worker factory對象等等。大多數(shù)成員都是不同的對象類型特有的。
              閱讀全文
            posted @ 2011-10-06 17:27 Yu_ 閱讀(785) | 評論 (0)  編輯
            B-樹及B+樹      摘要: 1、B樹的定義
            B樹是一種平衡的多分樹,通常我們說m階的B樹,它必須滿足如下條件:
            (1)每個結(jié)點至多有m個子結(jié)點;
            (2)除根結(jié)點和葉結(jié)點外,其它每個結(jié)點至少有個子結(jié)點;
            (3)若根結(jié)點不是葉子結(jié)點,則至少有兩個子結(jié)點;
            (4)所有的葉結(jié)點在同一層;
            (5)有k個子結(jié)點的非根結(jié)點恰好包含k-1個關(guān)鍵碼。
              閱讀全文
            posted @ 2011-10-05 19:09 Yu_ 閱讀(2593) | 評論 (1)  編輯
            平衡二叉樹 (AVL樹)      摘要:  在構(gòu)造二叉排序樹的過程中,每當(dāng)插入一個結(jié)點時,首先檢查是否因插入而破壞了樹的平衡性,如果是因插入結(jié)點而破壞了樹的平衡性,則找出其中最小不平衡子樹,在保持排序樹特性的前提下,調(diào)整最小不平衡子樹中各結(jié)點之間的連接關(guān)系,以達(dá)到新的平衡。通常將這樣得到的平衡二叉排序樹簡稱為 AVL 樹。
            那么什么是 最小不平衡子樹
              以離插入結(jié)點最近、且平衡因子絕對值大于 1 的結(jié)點作根結(jié)點的子樹。為了簡化討論,不妨假設(shè)二叉排序樹的最小不平衡子樹的根結(jié)點為 A ,則調(diào)整該子樹的規(guī)律可歸納為下列四種情況:
              閱讀全文
            posted @ 2011-10-04 01:09 Yu_ 閱讀(756) | 評論 (0)  編輯
            二叉搜索樹(二叉排序樹)(二叉查找樹)      摘要: 1、二叉搜索樹是二叉樹的一種,樹的每個結(jié)點含有一個數(shù)據(jù)項,每個數(shù)據(jù)項有一個鍵值。結(jié)點的存儲位置是由鍵值的大小決定的,所以二叉搜索樹是關(guān)聯(lián)式容器。
            (1)、 若它的左子樹不空,則左子樹上所有結(jié)點的鍵值均小于它的根結(jié)點的鍵值;
            (2)、若它的右子樹不空,則右子樹上所有結(jié)點的鍵值均大于它的根結(jié)點的鍵值;
            (3)、它的左、右子樹也分別為二叉排序樹。
            注意:::二叉排序樹是一種動態(tài)樹表,樹的結(jié)構(gòu)通常不是一次生成的。而是在查找的過程中,當(dāng)樹中不存在關(guān)鍵字等于給定值的節(jié)點時再進(jìn)行插入。新插入的結(jié)點一定是一個新添加的葉子結(jié)點,并且是查找不成功時查找路徑上訪問的最后一個結(jié)點的左孩子或右孩子結(jié)點。
              閱讀全文
            posted @ 2011-10-03 10:07 Yu_ 閱讀(606) | 評論 (0)  編輯
            哈夫曼樹      摘要: 哈夫曼樹定義為:給定n個權(quán)值作為n個葉子結(jié)點,構(gòu)造一棵二叉樹,若帶權(quán)路徑長度達(dá)到最小,稱這樣的二叉樹為最優(yōu)二叉樹,也稱為哈夫曼樹(Huffman tree)。
            1、那么什么是權(quán)值?什么是路徑長度?什么是帶權(quán)路徑長度呢?
            權(quán)值:哈夫曼樹的權(quán)值是自己定義的,他的物理意義表示數(shù)據(jù)出現(xiàn)的次數(shù)、頻率。可以用樹的每個結(jié)點數(shù)據(jù)域data存放一個特定的數(shù)表示它的值。

            路徑長度:在一棵樹中,從一個結(jié)點往下可以達(dá)到的孩子或子孫結(jié)點之間的通路,稱為路徑。通路中分支的數(shù)目稱為路徑長度。若規(guī)定根結(jié)點的層數(shù)為1,則從根結(jié)點到第L層結(jié)點的路徑長度為L-1。

            結(jié)點的帶權(quán)路徑長度為:從根結(jié)點到該結(jié)點之間的路徑長度與該結(jié)點的權(quán)的乘積。 樹中所有葉子節(jié)點的帶權(quán)路徑長度之和,WPL=sigma(w*l)

              閱讀全文
            posted @ 2011-10-02 17:04 Yu_ 閱讀(2971) | 評論 (1)  編輯
            優(yōu)先隊列      摘要: 優(yōu)先隊列是不同于先進(jìn)先出隊列的另一種隊列。每次從隊列中取出的是具有最高優(yōu)先權(quán)的元素。每個元素都有一個優(yōu)先權(quán)或值
            /////用堆實現(xiàn)優(yōu)先隊列
            1、把優(yōu)先隊列中的元素按優(yōu)先級大小組織成堆,堆頂元素具有最大優(yōu)先級。
            2、優(yōu)先隊列的插入與刪除可以用堆的插入與刪除實現(xiàn)。
            3、優(yōu)先隊列在定義為priority_queue ,在STL中#include 中實現(xiàn)、
            priority_queue, greater >qi2;
            其中

              閱讀全文
            posted @ 2011-10-02 11:22 Yu_ 閱讀(248) | 評論 (0)  編輯
            堆排序      摘要: 估計還要問問:什么是堆,什么是堆排序?堆與計算機(jī)分配內(nèi)存的堆相同嗎?
            很多資料給出:堆的定義是
            (1)、n個關(guān)鍵字序列(Kl,K2,…,Kn)稱為(Heap),當(dāng)且僅當(dāng)該序列滿足如下性質(zhì)(簡稱為堆性質(zhì)):
            ki≤K2i且ki≤K2i+1 或 Ki≥K2i且ki≥K2i+1 (1≤i≤ n) //ki相當(dāng)于二叉樹的非葉結(jié)點,K2i則是左孩子,k2i+1是右孩子

              閱讀全文
            posted @ 2011-10-01 16:55 Yu_ 閱讀(1114) | 評論 (0)  編輯
            C/C++內(nèi)存中的數(shù)據(jù)對齊問題      摘要: 數(shù)據(jù)對齊,是指數(shù)據(jù)所在的內(nèi)存地址必須是該數(shù)據(jù)長度的整數(shù)倍。比如DWORD數(shù)據(jù)的內(nèi)存其實地址能被4除盡,WORD數(shù)據(jù)的內(nèi)存地址能被2除盡。x86 CPU能直接訪問對齊的數(shù)據(jù),當(dāng)它試圖訪問一個未對齊的數(shù)據(jù)時,會在內(nèi)部進(jìn)行一系列的調(diào)整,這些調(diào)整對于程序來說是透明的,但是會降低運行速度,所以編譯器在編譯程序時會盡量保持?jǐn)?shù)據(jù)對齊。
              閱讀全文
            posted @ 2011-10-01 10:13 Yu_ 閱讀(550) | 評論 (0)  編輯

            人妻久久久一区二区三区| 久久亚洲精品国产亚洲老地址 | 久久99精品久久久久久野外| 91精品国产色综合久久| 狠狠色丁香久久综合五月| 国产精品内射久久久久欢欢| 色综合久久久久综合99| 亚洲精品美女久久777777| 久久99精品国产麻豆宅宅| 九九久久精品国产| 国产亚洲美女精品久久久2020| 精品久久久久久国产潘金莲| 久久国产精品免费| 99麻豆久久久国产精品免费 | 欧美亚洲国产精品久久久久| 奇米综合四色77777久久| 久久免费高清视频| 日韩精品久久久久久久电影蜜臀 | 2020国产成人久久精品| 久久久久99精品成人片| 97精品依人久久久大香线蕉97| 韩国三级大全久久网站| 中文字幕久久精品| 国产精品99久久不卡| 久久久久亚洲AV成人片| 偷偷做久久久久网站| 国产成人综合久久精品尤物| 久久夜色精品国产网站| 色狠狠久久综合网| 久久99精品九九九久久婷婷| 99久久无码一区人妻a黑| 少妇久久久久久被弄高潮| 日韩欧美亚洲综合久久影院Ds| 热re99久久精品国产99热| 国产精品无码久久久久久| 久久久老熟女一区二区三区| 免费精品久久天干天干| 思思久久99热只有频精品66 | 久久亚洲国产成人精品性色| 久久AV无码精品人妻糸列| 伊人久久五月天|