原创 深度優先遍歷找出一個無向圖中的環

進行深度優先遍歷的時候,當考察的點的下一個鄰接點是已經被遍歷的點,並且不是自己之前的父親節點的時候,我們就找到了一條逆向邊,因此可以判斷該無向圖中存在環路。 visited數組記錄了節點的訪問狀態,visited[i] = 0表示

原创 Linux常用命令與快捷鍵

常用快捷鍵 快捷鍵 作用 Ctrl + a 光標移動到行首 Ctrl + e 光標移動到行末 Ctrl + u 刪除光標前面的內容 Ctrl + d 刪除光標所在位置內容 常用命令 命令 意義

原创 Python使用'input'讀取輸入文本出現NameError錯誤

在Python2.7中內置函數input()會將輸入數據當成指令,從鍵盤中輸入數據應該使用raw_input() 在Python3中input()函數用於從鍵盤中讀取數據 1 #!/usr/bin/python 2 #

原创 使用DFS進行拓撲排序,如果可以完成的話,輸出路徑

進行深度優先搜索的時候,如果當前訪問的點是已經被訪問過的節點的話,說明出現了逆邊。因此有環,無法完成拓撲排序。 如果可以完成拓撲排序,檢測點序列就是一個合法的拓撲排序! #include <iostream> #include <

原创 Python編碼錯誤

SyntaxError: Non-ASCII character ‘\xe4’ in file ./ss.py on line 2, but no encoding declared; see http://python.org/

原创 Ubuntu下OpenCV編程[2]-cv::Mat類

cv::Mat類介紹 遍歷cv::Mat圖像矩陣 使用at函數進行遍歷 使用迭代器進行遍歷 使用指針進行遍歷 使用子類 cv::Mat_ 運算符重載函數() 由於像素點的數據類型不同,將這幾種方式遍歷的測試函數,封裝成模板函數

原创 Python字符串格式化輸出

在Python可以使用字符串的format函數替換掉字符串中的{}格式化描述符號從而達到C中的printf效果 示例代碼: #!/usr/bin/python3 amount = float(input("Enter amoun

原创 Ubuntu下OpenCV編程[3]-滑動條的使用

OpenCV中提供了滑動條、按鍵等交互工具用來調節程序中某些參數。相比與QT這些專業的GUI類庫,OpenCV中GUI非常遜色,但是在調試、展示算法過程中,這些簡陋的工具完全夠用。 在以下的一個示例程序中,我使用滑動條提供的值,來

原创 使用C++類模板,出現鏈接錯誤

在定義一個模板類的時候,將類模板成員函數放在獨立的cpp實現文件中,將模板類聲明放在一個h文件中。在一個文件中需要使用到這個類,直接include頭文件發現出現鏈接錯誤。 由於模板不是函數,只是一些C++編譯器指令,說明了如何生成

原创 使用pickle將對象存儲到文件中時出現 TypeError: write() argument must be str, not bytes

pickle默認操作二進制文件,使用文件函數的時候需要注意,否則出現 TypeError 如下,open函數參數更改爲 wb 可以正常運行 #!/usr/bin/python3 # -*- coding: utf-8 -*- #

原创 活用宏定義

今天在看x86虛擬機源代碼的時候,看到一個非常有意思的宏定義,記錄下來說不定以後可以參考一下: 作者使用枚舉類型定義各個按鍵的碼,但不是常規的做法,而是在其中使用了宏。 在軟件開發的過程中,宏因爲理解不易,所以是大忌,但是因爲

原创 ubuntu安裝Jre運行Java程序

直接使用apt安裝 sudo apt-get install openjdk-8-jre

原创 Python中獲取兩數相除的商和餘數

方法一:可以使用//求取兩數相除的商、%求取兩數相除的餘數。[/在Python中獲取的是相除的結果,一般爲浮點數] 方法二:使用divmod()函數,獲取商和餘數組成的元祖 實例代碼: #!/usr/bin/python3 #

原创 C/C++中的邏輯右移、算數右移、循環左移、循環右移

C/C++語言中邏輯右移和算數右移共享同一個運算符>>。編譯器決定使用邏輯右移還是算數右移,根據的是運算數的類型。如果運算數類型是unsigned則採用邏輯右移,而signed則採用算數右移。對於signed類型的數據,如果需要使

原创 使用宏定義進行拼接

今天在翻看別人用C語言寫的框架代碼的時候注意到了大量的使用宏拼接,以此進行C風格的模板設計。一直沒有想到原來C的宏可以這麼使用,記錄下來漲點見識! #include <stdio.h> #define concat(x, y)