原创 並行scan算法 Hillis Steels 和 Blelloch

Hillis/Steels算法 Blelloch算法: 相互比較:

原创 2D凸包算法(六):Incremental Method

Incremental Method 圖示 Incremental Method 實時的保持一個凸包。每當輸入一點,如果點在外面,計算此點與當前凸包的兩條切線,去除凸包內的邊以連接兩條切線爲新的邊。如果在凸包內部就刪除該點。 通

原创 2D凸包算法(五):Divide and Conquer

Divide and Conquer 圖示 先對所有的點集進行分割成各個區域,對每個子區域進行凸包算法(如jarvis’s march)求得子凸包。 合併凸包,找到兩條外公切線即可。從左凸包最右點、右凸包最左點開始,固定左端順時

原创 【thrust庫】thrust::scatter 和 thrust::gather

gather與scatter正好相反: scatter是順序輸入根據map確定撒點輸出位置。 gather是根據map確定輸入元素的位置,輸出是按順序的。 如圖: 具體可以查看 https://blog.csdn.net/seamanj

原创 2D凸包算法(一):Jarvis' March ( Gift Wrapping Algorithm )

Jarvis’ March 圖示 先從一個凸包上的頂點開始,順着外圍繞一圈。 每當尋找下一個要被包圍的點,則遍歷平面上所有點,找出最外圍的一點來包圍。可以利用叉積運算來判斷。 時間複雜度爲 O(NM) , N 爲所有點的數目,

原创 linux gcc 5.4.0安裝-問題解決

參照此博客,對gcc進行下載,配置,編譯,安裝。 https://www.cnblogs.com/wkccs/p/5663972.html 如果出現問題,可以參照以下博客: https://blog.csdn.net/futangxian

原创 自制嵌入式GUI 第4篇

自制GUI前1-3篇:https://blog.csdn.net/shungry/article/details/78573355 自制GUI第5篇:https://blog.csdn.net/shungry/article/deta

原创 CUDA學習-cdp快排實現(一次快排)

cdp快排實現(預備知識):https://blog.csdn.net/shungry/article/details/90520554 理解了快排的主要原理就,接下來通過官方例子進行進一步的理解。爲了更好的進行理解,把官方例子cdpAd

原创 CUDA學習(一)-NVCC的編譯過程

正文: NVCC的編譯過程總體可以用一個圖進行描述: NVCC的編譯過程分爲離線編譯和即時編譯兩部分組成: 離線編譯(綠色虛線框內): CUDA源程序(即xxx.cu文件)在編譯前的預處理會被分爲主機端代碼和設備段代碼(即圖中的左右分支

原创 自制嵌入式GUI 【前1-3篇】-基於freeRTOS

自制GUI第4篇:https://blog.csdn.net/shungry/article/details/78659613 自制GUI第5篇:https://blog.csdn.net/shungry/article/details/

原创 CUDA學習-cdp快排實現(預備知識)

在用gpu實現快排之前,先回顧一下在用cpu進行快速排序的方法: void QuickSort(int array[], int start, int last) { int i = start; int j = las

原创 CUDA學習-cdp四叉樹實現(預備知識)

一幅如圖2(a)所示的二進制圖片常常會用一個二進制矩陣來表示。所謂二進制矩陣是指矩陣中的每一個數不是0就是1。圖2(b)展示圖2(a)用二進制矩陣表示的情況。 圖2:(a)二進制圖片(b)圖片的矩陣表示(c)四分樹劃分(d)四分樹表示

原创 2D凸包算法(四):Quick Hull Algorithm

Quick Hull Algorithm 圖示 先確定兩個距離最大的點,連接後構成線。然後尋找離線的最遠的點,構成三角形。以此類推,向外快速擴展,直到所有點都在凸包內。 時間複雜度: O(N²) ,是最有效率的演算法。 (預先