原创 Haskell:理解函數應用符和函數複合符,並應用($), (&), (.)減少嵌套調用中的括號嵌套

文章目錄減少繁瑣的括號嵌套函數應用符:($) and (&)函數複合符:(.)參考 減少繁瑣的括號嵌套 Haskell中的求值順序在1介紹。爲了明確表示求值順序,計算表達式中通常需要複雜的括號嵌套,比如((1+2)+(3*4)/(

原创 Haskell:用foldr定義foldl

Haskell:用foldr定義foldl 文章目錄Haskell:用foldr定義foldl基礎知識類型推導恆等證明Q&A總結參考和擴展閱讀 基礎知識 fold操作是把一個列表聚合成一個值的過程,而在此基礎上有foldl和fol

原创 Haskell: 八皇后問題的求解和效率優化

Haskell: 八皇后問題的求解和效率優化 編程思路 n皇后問題,在前m步保留已經放了m個之後的所有可能情況。在第m+1步再試圖放1個上去,保留所有不產生衝突的情況,也就是已經放了m+1個之後的所有可能情況。以此類推,放滿n個皇

原创 Haskell do notation 的正經定義

永遠在用do,永遠記不得do作爲一個語法糖,對應的真實語法是什麼。寫一篇博文記一下。 -- | ---------------------------------------------------- -- | (1) do {

原创 Python函數式編程: 求解24點

Python函數式編程: 求解24點 引言 本文實現三種大同小異的基於“遍歷+遞歸”的搜索,從一個側面體現了函數式編程的妙處。 (所以,僅僅是簡單的“遍歷+遞歸”真的稱得上是函數式編程麼?捂臉笑) 如果只想看24點的解法,直

原创 Haskell: 二叉樹和Catalan數

Haskell: 二叉樹和Catalan數 文章目錄Haskell: 二叉樹和Catalan數理論Haskell實現:二叉樹的定義Haskell實現:打印二叉樹的信息Haskell實現:Catalan數的求解 理論 Catalan

原创 Haskell:實現二叉樹及其前序、中序、後序遍歷和層序遍歷

用函數式編程語言實現數據結構,是非常返璞歸真的一件事情。 樹的定義 用參數化類型定義二叉樹。 data Tree a = Empty | Node (Tree a) a (Tree a) deriving (Show) 多叉樹可

原创 C++:友元的必要性和實現範例

C++:友元的必要性和實現範例 給小朋友講課的時候用的幾個例子,比較粗淺,可供參考。 文章目錄C++:友元的必要性和實現範例友元函數的必要性問題的提出問題的解決:友元函數友元類的必要性一些例子複數類:完整代碼其他待補 友元函數

原创 Python:用來顯示函數執行時間的裝飾器

文章目錄預備知識正文解釋應用 預備知識 裝飾器是一個函數。通過學習菜鳥教程來了解裝飾器的基本概念、作用和Python語法。 正文 本文介紹一個用來顯示函數執行時間的裝飾器。以下的代碼用來裝飾一個函數,使函數運行完畢後能顯示函數的運

原创 向初學者學習編程技巧

向初學者學習編程技巧 如何從初學者的行爲中學習編程技巧? 文章目錄向初學者學習編程技巧避免過度嵌套的條件判斷語句:條件反轉代碼簡化:建立思維慣性和直覺代碼優化的準則:先完成功能再優化等等…目標性問題?不要釘死在一門語言上多讀代

原创 關於無類型限制的lambda演算

關於無類型限制的lambda演算 在閱讀這篇博文之前,你最好已經閱讀過A Tutorial Introduction to the Lambda Calculus (Raul Rojas) 在接觸Haskell幾個月之後,才發

原创 簡單搞定NIPS LaTeX模板的中文支持

NIPS會議的LaTeX模板對中文支持不太好,本文給出數個解決方法。 衆所周知,AI頂會NIPS的LaTeX模板需要用PDF LaTeX編譯,而這個編譯系統對漢語不太友好:因爲inputenc這個宏包的存在,如果直接編譯帶漢語

原创 Python Openpyxl Excel打開操作 zipfile 錯誤解決:zipfile.BadZipFile: File is not a zip file

文章目錄錯誤描述原因解決參考 錯誤描述 使用openpyxl新建workbook並執行操作,在從某文件目錄load workbook時,報錯zipfile.BadZipFile: File is not a zip file Tr

原创 LaTeX: 常見問題解決(20200331更新)

列舉可以簡單解決的latex問題,遇到任何類似問題可在評論區留言討論。 文章目錄必備宏包無腦導入特定功能排版段落其他特殊內容網址公式插圖 必備宏包 無腦導入 使用usepackage導入宏包。 ctex:一般都需要用這個建立

原创 Haskell: (-」) r Functor Applicative Monad 案例選講

Haskell: (->) r Functor Applicative Monad 案例選講 (->) r 的 Functor Applicative Monad 方法實現 類型構造器(->) r是Functor Applicat