原创 問題的難度

        關於問題,我們是否都能高效解決?我們是否能夠解決?這是計算機科學中可計算性和計算複雜度研究的問題。《算法學》一書的第7章和第8章對問題難度進行介紹和整理。第7章主要討論可計算問題的難解程度;而第8章主要討論不可計算問題。

原创 寫給妹妹的編程札記 2 - 窮舉: 初識剪枝

        在上次的文章《窮舉 - 從循環到遞歸》中, 介紹了從直接的循環到搜索的窮舉實現。 稍有經驗的程序員都能看到上文中的八皇后問題效率大大的低, 有很多改進空間。         從上圖很容易看到, 我們窮舉所有情況, 然

原创 寫給妹妹的編程札記 - 排序

排序, 顧名思義,就是將一個給定集合的元素按定義的比較函數排列爲有序狀態。 排序算法很多, 我們需要針對不同使用場景和要求,選擇恰當的排序算法。 排序算法的一些重要權衡指標: 1. 編程實現複雜度  2. 時間複雜度, 包括平均時

原创 寫給妹妹的編程札記 3 - 窮舉: 深度優先搜索/廣度優先搜索

        前文,我們討論了從循環遍歷到搜索基本框架,並解決了一個經典的八皇后問題。對搜索剪枝也有了一些基本的瞭解。 下面, 我們來看看搜索的兩個最基本的策略: 深度優先搜索和廣度優先搜索。         Wikipedia上有比較

原创 寫給妹妹的編程札記 6 - 搜索實戰: 單詞博弈

        最近,CSDN上的在線編程比賽中,有一道題目《單詞博弈》。這道題目是一個很好的可以使用搜索來解決的例子。 題目詳情 本第一次在線編程大賽由文思海輝冠名,題目如下: 甲乙兩個人用一個英語單詞玩遊戲。兩個人輪流進行,每個人每

原创 寫給妹妹的編程札記 1 - 窮舉: 從循環到遞歸

        編程(Programming)的含義可能很大, 在此我們侷限於使用計算機編寫程序解決問題。 要說計算機, 最重要的優點就是“非常聽話”, 只要你能夠通過她能夠理解的語言(無歧義的編程語言)給出你的指示, 她就會任勞任怨地

原创 寫給妹妹的編程札記 5 - 搜索: 迷宮問題 - 廣度優先搜索

        讓我們也使用廣度優先搜索來解決一下迷宮問題,可以對比一下《寫給妹妹的編程札記 4 - 搜索: 迷宮問題 - 深度優先搜索》。         如在《寫給妹妹的編程札記 3 - 窮舉: 深度優先搜索/廣度優先搜索》中描述的

原创 寫給妹妹的編程札記 4 - 搜索: 迷宮問題 - 深度優先搜索

        《寫給妹妹的編程札記 3 - 窮舉: 深度優先搜索/廣度優先搜索》中, 我們瞭解到基本的深度優先搜索和廣度優先搜索。 來點實戰吧, 使用搜索技術來解決一些實際的問題。          首先來看看怎麼使用深度優先搜索解

原创 《異類 - 不一樣的成功啓示錄》讀書筆記

        《異類(Outlier) - 不一樣的成功啓示錄》是Malcolm Gradwell的代表作之一。中間有些內容以前也看過,這次系統重看了下, 又有不少啓發。 * 10000小時的標準         “一個人的技能要達

原创 使用tcpdump和wireshark對android手機進行網絡抓包分析

一個簡單的對手機進行網絡抓包分析的方法: 1. 編譯tcpdump     從tcpdump的官方網站下載源代碼並編譯     tcpdump官方網站: http://www.tcpdump.org/ 2. 在手機中安裝tcpdum

原创 明天太陽照常升起的概率是多少?

最近在閱讀拉普拉斯的《關於概率的哲學筆記》, 在第三章“概率計算的一般原則”最後提到一個日出問題: 如果我們不瞭解太陽運行的基本規則,根據統計,在過去的N天裏,太陽每天都正常升起。那麼,太陽明天照常升起的概率是多少呢? 拉普拉斯在

原创 誰是冠軍?

一道關於奧運會排名的有趣題目 最近日本國東京剛獲得2020奧運會舉辦權。Three Body不由想起往年各種奇葩奧運排行榜。大家應該對奧運金牌榜(按獲得的金牌數目排序),奧運獎牌榜(按獲得的金銀銅獎牌總數排序)很熟悉。 除此之外,還有好

原创 [Leetcode.python] 002. Add Two Numbers

題目002:Add Two Sum (https://leetcode.com/problems/add-two-numbers/) 給定兩個鏈表表示兩個整數,輸出兩個整數之和的鏈表表示解答: 直接模擬整數求和過程即可 def ad

原创 [Leetcode.python] 001. Two Sum

在學習新語言Python, 決定使用Python刷刷Leetcode. 題目001:Two Sum (https://leetcode.com/problems/two-sum/) 大意,給定一個數組nums和一個數target,確

原创 科技的發展(1) - 中文輸入法

關於科技的發展系列,我想談談的第一個話題便是中文輸入法。 回想起二十年前,剛接觸計算機時,第一個讓人困擾的事便是學習五筆。那時還沒有用戶痛點的說法,可以熟練使用五筆輸入法還是看起來頗爲高大上的感覺。不能免俗,記憶裏的我還是費了一些勁的,