原创 科學家通過對象棋大師的研究發現奧祕

我們常常看到國際象棋大師接受“車輪大戰”,他們在每張棋桌前只停留兩三秒鐘便下出棋子。他們爲何下棋下得這麼快、這麼棒?據8月出版的《美國科學人》雜誌封面文章報道,國際象棋高手相對初學者的優勢是他們最初幾秒的想法。這種快速、知識導向性的理解,

原创 UEFI概念龜速學習:服務和驅動

UEFI服務 UEFI用驅動的形式提供服務,因爲只有驅動才能常駐內存(應用程序不行),這種驅動稱之爲服務型驅動 驅動分2種,UEFI驅動模型驅動 和 DXE驅動。服務採用DXE驅動的方式開發 服務的開發分3步: 1. 服務接口的設計 2.

原创 《C算法》——基本數據結構及其算法

 數組-----------------------------------------------------------------------------------------------------厄拉多塞素數篩選法求出小於N的

原创 常用算法設計方法

  常用算法設計方法 要使計算機能完成人們預定的工作,首先必須爲如何完成預定的工作設計一個算法,然後再根據算法編寫程序。計算機程序要對問題的每個對象和處理規則給出正確詳盡的描述,其中程序的數據結構和變量用來描述問題的對象,程序結構、函

原创 《C算法》——樹

 二叉樹  定義 typedef struct node* link;struct node ...{    Item item;    link l, r; }; 二叉樹的先序遍歷(遞歸) void traverse(lin

原创 堆和棧的區別

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

原创 《C算法》——圖

 圖的深度優先搜索深度優先搜索與一般樹遍歷之間的差別在於需要明確防止訪問已訪問過的節點。實際上,如果圖爲一棵樹,則從根開始的深度優先搜索等價於先序遍歷。 void traverse(int k, void (*visit)(int))

原创 《C算法》——遞歸和動態規劃

 遞歸     動態規劃可以非常容易的將一個指數時間的遞歸問題轉化爲線性時間。下面是兩個簡單的例子。 --------------------------------------------------------------------

原创 Beyond BIOS學習筆記(一)

- 基本概念    . 對象(Objects)—— 用來管理系統狀態,包括I/O設備、內存以及事件      : 不同的對象支持不同的服務。UEFI通過這種方式管理設備。    . 系統表(System Table)—— UEFI中最重要

原创 《C算法》——基本排序方法

 主要介紹幾種基本的排序方法,包括選擇、插入、冒泡和希爾排序。 插入排序屬於非適應性排序——即所執行的運算序列獨立於數據的順序。選擇、插入、冒泡排序時間複雜度均爲O(N^2)快速、歸併排序時間複雜度爲O(N logN)希爾排序的時間複雜度

原创 《C算法》——快速排序

快速排序是排序的一種分治方法。它的基本思想是,通過一趟排序將待排記錄分割爲獨立的兩部分,其中一部分記錄的關鍵字均比另一部分記錄的關鍵字小,則可分別對這兩部分記錄繼續進行排序,以達到整個序列有序。快速排序的時間複雜度爲O(N logN)在最

原创 PKU ACM 1015 Jury Compromise (DP)

題目鏈接:Jury Compromise   問題描述: 控辯雙方選擇陪審團成員。每個陪審團成員對控辯雙方來說,都有一個數值表示合適程度(0 ~ 20)。現在要從n個待選陪審員中選出m位,要是這m個人對控辯雙方合適程度的差最小。如果有差相

原创 PKU ACM 1013 Counterfeit Dollar 假幣

題目鏈接:僞幣 Counterfeit Dollar 問題描述: 12枚錢幣,其中一枚是假的。假幣的重量和真幣不同,但是不知道比真幣輕還是重。用天平稱 3 次,找到那枚假幣。 主要思路: 1. 如果天平兩邊重量相同,則說明兩邊的錢幣都

原创 [pmon] Soft CLK SEL adjust begin

(龍芯3A2000用戶手冊17頁)(電路原理圖)(龍芯3A2000用戶手冊27頁)

原创 pmon start.S重要步驟

//////////////////////////////////////////////////////////////////////////////////////////////////start.S重要步驟:1. 設置cp0