原创 並行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²) ,是最有效率的演算法。 (預先