原创 二叉排序樹

順序存儲的線性表查找我們可以使用折半、插值、斐波那契等查找算法來實現,因爲有序,所以在插入和刪除上就需要耗費大量的時間,今天要討論的算法既可以獲得不錯的插入刪除效率,也可以比較高效的實現查找——二叉排序樹。 二叉排序樹又叫二叉查找樹,它或

原创 簡單選擇排序

選擇排序的基本思想: 每一趟在數個記錄裏選取關鍵字最小的記錄作爲有序序列的第i個記錄。實現代碼如下: void SelectSort(int a[], int n) { int k, temp; for (int i =0 ; i

原创 冒泡排序

冒泡排序算法的原理: 1、比較相鄰的元素,如果第一個比第二個大,就交換它們兩個。 2、對每一組相鄰元素做同樣的操作,一趟完成後,最後的元素就是最大的數。 3、對所有元素重複上述步驟,除了最後一個數 4、持續每次對越來越少的元素重複上面的步

原创 CLR虛方法調用原理

我們知道CLR會爲每個類型創建一個”方法表“。方法表的詳細布局方式微軟沒有公開發布,因此只能依據自己的理解給出一個大致的方法表, 並不一定符合CLR實情。     類型方法表的前面是一些CLR用於管理類型的控制信息,緊接着是一個表明此類

原创 值類型與引用類型變量探究

.Net將變量的類型分爲引用類型和值類型兩大類。使用int、double等數值類型所定義的變量屬於值類型,除此之外,枚舉類型和結構也屬於值類型。類類型的變量屬於引用類型,他們可以引用一個真實的對象。 .Net中的引用類型分爲:類類型、接口

原创 類和對象的CLR內存佈局

   c#中有許多的內置類型,int是最常用的數據類型之一。它代表一個4個字節的有符號整數。對於下面的這代碼卻可以通過c#編譯器的語法檢查。 int i = int.Parse("123"); string num = 100.ToSt

原创 安裝新的中斷例程9

我們在之前編寫的int9安裝例程基礎上加一個功能 功能:在DOS下,按F1鍵後改變屏幕當前的顯示顏色,其他的按鍵照常處理。 我們簡單分析一下: (1)改變屏幕的顯示顏色 我們知道,在80x25的彩色字符模式顯示緩衝區中每頁約有40

原创 int 9中斷例程優化分析

上篇文中我們已經實現了int9中斷例程的編寫,根據課後檢測點我們對上文代碼做出優化。代碼如下: assume cs:code stack segment db 128 dup (0) stack ends data segment

原创 PC機鍵盤的處理過程(外中斷-鍵盤輸入)

我們知道cpu在計算機系統中除了能夠執行指令,進行運算以外,還應該能對外部設備進行控制,接收它們的輸入,向它們進行輸出,也就是說cpu除了具有運算能力外,還要有I/O(Input/Output,輸入輸出)能力。通過以前的學習我們知

原创 直接定址表

一、單元長度的標號 之前的課程中,我們一直在代碼段中使用標號來標記指令、數據、段的起始地址。比如,下面的程序 將code段中的a標號處的8個數據累加,結果存儲到b標號處的字中。 assume cs:code code segme

原创 實驗16編寫包含多個功能子程序的中斷例程

編程:安裝一個新的int7ch中斷例程,爲顯示輸出提供以下功能子程序 (1)清屏; (2)設置前景色 (3)設置背景色 (4)向上滾動一行 入口參數說明如下: (1)用ah寄存器傳遞功能號:0表示清屏,1表示設置前景色,2表示設置

原创 淺談unity中gamma空間和線性空間

原文鏈接:http://www.cnblogs.com/zblade/ 一、概述    很久沒有寫文章了,今天寫一篇對gamma空間和線性空間的個人理解總結,在查閱和學習了各個資料後,算是一個個

原创 unity項目性能優化總結

待續。。。

原创 Unity優化之GC(官方文檔翻譯)

原文鏈接:http://www.cnblogs.com/zblade/ 本想將unity的gc優化翻譯一遍,正巧網上看見已有人翻譯好了,看了下,翻譯的很不錯,自己翻譯的肯定沒有這麼到位,就直接拿

原创 Unity性能優化(DrawCall合批)

爲了在屏幕上繪製一個對象,遊戲引擎必須發出一個繪製命令給圖形化API接口(如OpenGL 或者Direct3D),DrawCalls通常都是資源密集的,圖形化API每一次DrawCall都要做很多重要的工作, 會造成CPU一定的性