段首依舊複製
嗯,受人所託,順便整理的
英文渣侵刪。
// 注釋的部分是解說(廢話)和不怎麼重(kǎo)要(chá)的
錯誤請指正
大晚上的先寫原理
//氣泡排序
冒泡是對此排序形象的比喻……
甚至非相關專業的同學也能對這種排序有十分直觀的認識
大概就是數越大,代表的泡泡越大,浮力越大,當與其他較小的泡泡相遇時,更容易浮上去
結果序列便是按「浮力」大小排序的了
//插入排序
divide and conquer
大體思想是在已經有序的序列裡插入新元素
//桶排序
對於uint來說,桶排序的段長趨於極限(1)時,變為雜湊排序,其他情況相當於對問題進行線性的divide and conquer,分成若干個桶內部的排序,桶內再採用其他排序,代價變小,亦可遞迴使用桶排序
//快速排序
分治/遞迴的又一體現
任意乙個元素,大於等於它的元素數量是一定的,小於它的元素也是一定的,那麼由此分組,就能獲得它在整個集合中的位置。同理,在接下來的過程中隊其他元素也進行這個操作,分組後再合併獲得的序列便是有序的了
extensions:
選擇排序和冒泡是玩牌時的常用演算法……
咦,三大線性排序,什麼鬼
sleep sort,又是什麼鬼
bogo sort,又是什麼鬼
入門級演算法
今天我想記錄的是一些關於入門級別的演算法。將乙個字串s對映為乙個整數,使得該整數可以唯一的代表字串s。先假設字串均由大寫字母a z構成,不妨設a z為0 25,即將26個大寫字母對應到了二十六進製制中。按照將二十六進製制轉換為十進位制的思路,即可實現將字串對映為整數的需求。題目 給出n個字串 恰好由...
線段樹的入門級
線段樹是一種二叉搜尋樹,與區間樹相似,它將乙個區間劃分成一些單元區間,每個單元區間對應線段樹中的乙個葉結點。對於線段樹中的每乙個非葉子節點 a,b 它的左兒子表示的區間為 a,a b 2 右兒子表示的區間為 a b 2 1,b 因此線段樹是平衡二叉樹,最後的子節點數目為n,即整個線段區間的長度。使用...
mbox Unix 的入門級郵箱
雖然老套卻很好用本章介紹一些基本的郵件 雖然社交網路有很多優點,但是在未來的幾年中,郵件仍將是網際網路的主打產品 分析工具和技術,以回答以下問題 誰傳送的郵件最多?一天中是否存在某個特定的時間 或是一周中的某天 這時候發件人最可能收到對乙個問題的回覆?幾個人之間,誰傳送的訊息最多?討論最熱烈的話題是...