原创 嵌入式實驗EX1:Kahn Process Networks and Synchronous Data Flows

KPN(Kahn Process Networks),即卡恩進程網絡,是一種應用於數據流建模的模型,描述了進程間網絡圖,直觀的顯示進程之間的交互。   一、KPN模型特性 1、一種並行程序設計語言 2、進程通過一個擁有無限容量的單向Fir

原创 【算法】排序 (三):二叉樹排序&基於散列排序(C++實現)

一. 二叉樹排序 對比前面所述的一些排序算法,之前通常使用數組或者鏈表之類的初級數據結構,二叉樹排序使用的是高級數據結構——樹。實際上是使用二叉搜索樹的機制,對二叉搜索樹中序遍歷即可以得到排序數組。代碼可以直接參考之前的文章[1

原创 【算法】排序 (一):插入排序&希爾排序&選擇排序&堆排序(C++實現)

排序算法的具體實現都在文章末端 一. 插入排序 1. 直接插入排序(穩定) 插入排序是日常中比較常見的算法,比如在平時撲克牌遊戲中,我們分到的牌都是無序的,開局前我們會對牌進行排序,此時牌被分爲兩堆——有序堆和無序堆。初始時

原创 計算機網絡筆記整理(三):數據鏈路層

數據鏈路層使用的信道主要有以下兩種類型: (1) 點對點信道:使用一對一的點對點通信方式,常用的協議有PPP。 (2) 廣播信道:使用一對多的廣播通信方式。廣播信道上連接的主機很多,所以1必須使用專用的共享信道協議來協調這些主

原创 計算機網絡筆記整理(四):網絡層

一、網絡層提供的兩種服務 虛電路服務 藉助於電信網的成功經驗,讓網絡負責可靠交付。用面向連接的通信方式,當兩個計算機進行通信時,應當向建立連接(在分組交換中建立一條虛電路VC(Virtual Circuit)),以保證雙方通信

原创 計算機網絡筆記整理(一):概述

一、一些概念 網絡(network):由若干結點(node)和連接這些結點的鏈路(link)組成。網絡中的結點可以是計算機、集線器、交換機或路由器等。網絡把許多計算機連接在一起。 互聯網(internet):網絡和網絡通過路由器

原创 【算法】排序 (二):冒泡排序&快速排序&歸併排序&基數排序&拓撲排序(C++實現)

一. 交換排序 1. 冒泡排序 冒泡排序是所有排序算法中最原始的,重複的遍歷要排序的數串,一次比較兩個元素,假如順序錯誤就交換這兩個元素,直到不再需要交換,則數串已經排序完畢。數串中的最大元素會逐漸冒上來,所以稱之爲“冒泡排序”

原创 校招編程題目(1) C++:括號匹配方案(京東)

題目描述 輸入一個長度爲n的字符串(0<=n<=20)只包含’(‘和’)’。對於這個字符串如”(())”,”()()”是匹配的,”)(“,”())(“都不是括號匹配的。 刪除最左邊的’(‘,從剩下的字符串中刪除任意的’)’,使得

原创 【數據結構】樹(一):字典搜索樹&並查集&哈夫曼編碼(C++實現)

大三狗發現知識遺忘率實在是太高了,決心今天開始好好複習,基本上是把這裏當複習筆記用了,畢竟看英語教材超苦=^=給自己找點動力,歡迎大家來一起學習呀~ 樹 一. 基本概念 樹(tree):由一個點集(vertices)及邊的

原创 【數據結構】樹(四):B樹(C++實現)

> 《算法導論》學習 基本介紹 B樹是爲磁盤或者其他直接存取的輔助存儲(secondary storage)設備而設計的平衡搜索樹。B樹類似於紅黑樹,但是在降低磁盤I/O操作數方面表現更好。許多數據庫系統使用B樹或其變種來存儲信

原创 POJ1017 Packets(貪心算法訓練)

Time Limit: 1000MS          Memory Limit: 10000K          Total Submissions: 51306          Accepted: 17391 Description

原创 【算法】圖論(一) —— 基本圖算法(BFS/DFS/強連通分量)

基本圖算法 一、圖的表示 對於圖G=(V,E),可以用兩種表示方法表示,一種將圖表示爲鄰接鏈表,另一種將圖表示爲鄰接矩陣。這兩種方法都既可以表示無向圖,又可以表示有向圖。 1. 鄰接鏈表 鄰接鏈表適用於稀疏圖(邊的條數|E|

原创 【數據結構】樹(二):二叉樹&二叉搜索樹&平衡二叉樹(C++實現)

二叉樹 在計算機科學中,二叉樹是每個節點最多有兩個子樹的樹結構。在圖論中,二叉樹是一個連通的無環圖,並且每一個頂點的度不大於3。 一. 旋轉(Rotation): 從果園轉換成二叉樹 (1) 重畫orchard,使得每個節點的

原创 計算機網絡筆記整理(二):物理層

一、物理層的基本概念 首先強調指出,物理層考慮的是怎樣才能在連接各種計算機的傳輸媒體上傳輸數據比特流而不是指具體的傳輸媒體。物理層的作用是要儘可能的屏蔽掉不同硬件設備、傳輸媒體、通信手段之間的差異,使得數據鏈路層感受不到這些差異,

原创 【數據結構】樹(三):紅黑樹插入與刪除操作(C++實現)

實現源碼過長,直接附鏈接在文章最後面,如有錯誤,還請不吝賜教。 由於實現的時候是先實現插入,再實現刪除,而且參考的不是同一本書,導致變量設置有一些不太一樣,所以兩個操作demo代碼是分開的,delete_demo中也包含插入操作