原创 學會做arduino交通燈

arduino單片機淺顯入門之讓燈亮起來 請先百度“麪包板”和arduino單片機瞭解麪包板的電路和單片機的引腳組成 目的:讓多個燈燈受控制地亮,具備交通燈控制能力 這是一個最簡單的控燈電路,GND爲零線,相當於負極,1

原创 複數的運算法則

點贊 收藏 分享 文章舉報 是豐兄啊 發佈了22 篇原創文章 · 獲贊 10 · 訪問量 2萬+ 私信 關注

原创 用插入排序爲歸併排序加速(算法導論)

在有足夠的空間時,歸併排序的效率已經相當不錯了,但是經典的歸併排序有沒有可能做得更好,換句話說,有沒有一種方法一定使歸併排序的效率更高且耗費更少的資源呢? 當然是有的。 我們知道,雖然插入排序的複雜度要高於歸併排序,但那只是n很大的情

原创 樹狀數組的區間修改單點查詢及Color the ball的AC代碼

要弄懂樹狀數組的區間修改,先要熟悉這張圖。 細心的你想象將紅色快加上重力落到白色快上,你馬上發現,哇,原來紅白色塊的數量相等! 所以你可以把紅色快直接當成一列數組,這樣就很容易對紅色塊有了區間的模糊印象 區間不就是a到b中間的那

原创 樹狀數組淺顯理解以及Ultra-QuickSort的AC代碼

快速求和 如何快速地求區間[x,y]的數組和呢?相信很容易知道,只需要建立一個前綴和數組(Tree[i]的數值爲import[1]~import[i]的和),就能在O(1)內求出任意區間的和,若只是求任意區間的和,顯然這種方法是最快而

原创 快速排序及其隨機化(算法導論)

如果對快速排序和分治不是很熟悉,建議先觀看網易公開課上與算法導論配套的麻省理工的算法導論課程。 算法描述 簡單來說,輸入一組數,選取一個作爲主元,遍歷整個數組,將比主元小的數扔到主元左邊,比主元大的數扔到主元右邊,然後對主元的左右兩個

原创 Binary Tree Traversals 的解釋與AC代碼

真正的原創在這裏 我不過是照着這位博主打的代碼 題意:給出一一棵二叉樹的前序和中序,輸出後序 舉例: 前序:1 2 4 7 3 5 8 9 6 中序:4 7

原创 Arduino LCD1602秒錶

用arduino單片機與LCD1602顯示屏做一個輸出程序 LCD1602顯示屏 VSS/GND–電源負 VDD/+5V–電源正 其餘爲數據引腳 要想使LCD1602顯示屏顯示不同的圖形與文字,需要大量的c程序控制各個引腳的電平,

原创 二叉搜索樹的節點刪除

這個程序寫地可真累呀,我完完全全照着算法寫的,怎麼每次輸出的序列都不對呢,只好親自設置了一些序列加以調試,後來發現唯一的錯誤:在某個很不起眼的地方把==寫成了=,我的天哪!想想因爲這個小問題影響了我一天的心情真的是不值。。 算法描述:

原创 最大連續子數組和(算法導論算法實現)

啊啊啊啊啊!算法導論關於這部分類容的講解在分治策略的第一節。然而網易公開課上本書的配套mit課程裏的老師並沒有講,可能人家覺得不值得講吧。 核心算法: 對於給定的數組,取其中點,記ans=-inf,先從中點向左延伸,不斷求和,每求和一

原创 插入排序

1.插入排序 《算法導論》第一篇筆記:插入排序 排序問題 輸入: n個數的一個序列 [a1,a2,a3,a4,…,an] 輸出:經過排序的一個序列[b1,b2,b3,b4,…,bn],滿足b1<=b2<=…<=bn 通俗解釋:摸牌

原创 建立紅黑樹的完整可行代碼(算法導論)

推薦一篇介紹紅黑樹的良心博客 首先要說明我學習紅黑樹插入時的經驗:初次看時很懵逼,不要緊,放到第二天再看一遍就清楚多了,這時候開始自己把算法整理一遍。第三天再看瞭然於心,可以再把各種情況考慮一遍,然後就可以寫代碼了。必須說明的是,《算法導

原创 隨機化二叉搜索樹的構造(算法導論)

說實話,算法導論上講的那個節點插入算法寫得不太專業,雖然讓人一看就感覺懂了,但正真實現起來才發現根本不是那回事(當然變換過程是一樣的,但不像算法裏寫的那樣用結構體來完成)。經過我自己一本不正經的摸索和大佬們的指點迷津,終於用數組實現了二叉

原创 RMQ問題的S-T解法

有篇介紹此類算法的博客非常不錯:http://blog.csdn.net/qq_31759205/article/details/75008659 RMQ問題 RMQ問題指對於一個數組,多次詢問任意給定區間的最值問題。此處僅介紹最

原创 單調棧的理解

單調棧的核心並不是單調,單調只不過是副產品。 單調棧的實際意義在於: 對於將要放入單調棧的數字,棧裏的所有數都比這個將要放入的數小。 那麼,對於每個成功留在棧裏的數字來說,前面的所有數都比這個數小,由此易得這個棧一定是單調遞增的,但單調