原创 [leetcode]169. 求衆數(摩爾投票法)

1.題目: 給定一個大小爲 n 的數組,找到其中的衆數。衆數是指在數組中出現次數大於 ⌊ n/2 ⌋ 的元素。 你可以假設數組是非空的,並且給定的數組總是存在衆數。 2.代碼: int majorityElement(int* n

原创 [leetcode]28. 實現strStr() (KMP)

數據結構:KMP算法 1.題目: 實現 strStr() 函數。 給定一個 haystack 字符串和一個 needle 字符串,在 haystack 字符串中找出 needle 字符串出現的第一個位置 (從0開始)。如果不存在,

原创 [leetcode]287. 尋找重複數(快慢指針)

數據結構:快慢指針 1.題目: 給定一個包含 n + 1 個整數的數組 nums,其數字都在 1 到 n 之間(包括 1 和 n),可知至少存在一個重複的整數。假設只有一個重複的整數,找出這個重複的數。 2.代碼: //快慢指針法

原创 α-β剪枝算法解釋

剪枝算法解釋: (3)=min((4)=3,(5)=17)=3; (2)=max((3)=3、(6)=?) ==>求(6); (6)=min((7)=2,(8)=?) ==>(6)<=2; ==>(2)=max((3)=3

原创 QEMU、GDB調試QEMU

1.qemu基本操作 Ctrl+Alt+2:切換控制檯 ctrl-alt-f:全屏 ctrl-alt :主機/虛擬機鼠標切換 操作: make clean make all make qemu gdb: make all mak

原创 jupyter安裝問題

使用Anaconda安裝自帶jupyter,但啓動後jupyter notebook後發現沒有python3 解決方法:開始菜單中Anaconda Navigator (Anaconda3),卸載自帶jupyter noteboo

原创 數據結構總索引

1.排序算法 內排序 2.二叉樹索引 二叉樹遍歷非遞歸算法 二叉樹層次遍歷 線索二叉樹遍歷 二叉樹後序遍歷尋找結點路徑 3.圖索引 非連通圖深度優先遍歷和廣度優先遍歷 最小生成樹 拓撲排序的實現 Dijkstra求單源最

原创 總索引

彙編地址與偏移地址; 8086、80286、80386介紹; 8086地址分配、計算機啓動過程; 分頁、線性地址與物理地址; GDT、GDT描述符;保護模式下段寄存器:段選擇子; TSS、TSS描述符;LDT、LDT描述符;注:

原创 圖索引

非連通圖深度優先遍歷和廣度優先遍歷 最小生成樹 拓撲排序的實現 Dijkstra求單源最短路徑

原创 二叉樹索引

二叉樹遍歷非遞歸算法 二叉樹層次遍歷 線索二叉樹遍歷 二叉樹後序遍歷尋找結點路徑

原创 中斷及中斷描述符表

1.中斷和異常 外部(硬件)中斷:從處理器外部來的中斷信號,通過兩個信號線INTR(可屏蔽中斷)、NMI(非屏蔽中斷)引入處理器;中斷控制器8259芯片(PIC):每片8259只有8箇中斷輸入引腳,在個人電腦上使用,需要兩塊(主

原创 任務門及任務切換

1.利用中斷引發任務切換: 1.1中斷描述符表IDT: 在保護模式下,實模式下中斷向量表不再使用,取而代之的是中斷描述符表IDT。IDT與GDT,LDT一樣,用於保存描述符;但IDT保存的是門描述符:中斷門、陷阱門、任務門; 1.

原创 一般特權級保護及調用門

1.特權級 特權級(Privilege Level),是存在於描述符及其選擇子中的一個數值,Intel處理器可以識別4個特權級別:(大)0~3(小)。 對於代碼段,段描述符TYPE位中C=0則爲非依從代碼段,C=1爲依從代碼段,

原创 任務狀態段TSS及TSS描述符、局部描述符表LDT及LDT描述符

1.TSS介紹 在一個多任務環境中,當發生了任務切換,需保護現場,因此每個任務的應當用一個額外的內存區域保存相關信息,即任務狀態段(TSS);TSS格式固定,104個字節,處理器固件能識別TSS中元素,並在任務切換時讀取其中信息。

原创 實模式下的中斷向量表

1.實模式下中斷向量表 如圖,每個中斷在向量表中佔兩個字; 8259傳來中斷號、軟中斷指明中斷號=>中斷號*4得到中斷處理程序入口地址; 2.BIOS中斷 BIOS中斷是軟中斷,是在加電之後,BIOS程序執行期間建立起來的。