演算法視覺化 歸併排序

2021-10-06 10:42:48 字數 1272 閱讀 3999

時隔幾個月,終於重新拾起了c++!

老司機回歸,自然是「 啟動vs → 新建解決方案 → 新增新專案 」一鍵三連。

啊,這絲滑的感覺,莫不是?

不能打斷了這絲滑的感覺,隨便寫點什麼,寫個歸併排序吧!

一頓操作猛如虎,一看編譯。。。

祝大家虎虎生威!

此時的我 ⬇

懷念起了用matlab做數字訊號處理的日子。

自信心備受打擊,卑微的我找到了某度(面向搜尋引擎程式設計不只是說著玩兒的)。

問題答案非常簡單,那就是vs的c++編譯器不允許使用變數作為陣列的長度定義陣列。

然而gcc編譯器就可以,看到這裡我想卸了visual studio。

說到底還是基礎不牢,地動山搖!

還是說說最後咋解決的吧,卸了visual studio是不可能的,這輩子都不可能的!

用vector代替陣列就ok了,是不是so easy!

⬇歸併排序基於分而治之的思想,即分解原問題、解決子問題、合併問題解

我覺得兩張**就可以完美解釋歸併演算法的原理。

分解原問題:

解決子問題:

當問題分解到只有乙個數的時候,自然變得有序,子問題自然解決。

合併問題解:

歸併排序視覺化:

視覺化歸併排序演算法

今天又有一點空,寫了歸併排序,並用swing動畫顯示了排序過程。排序過程不難,可以看這裡下面主要說說視覺化的。像諸如氣泡排序的話,如果想對排序過程做視覺化。那麼只要簡單的在每個繪圖主迴圈中重繪整個資料就行了。但是,歸併排序不一樣,因為它的排序過程是不停建立一些中間小陣列來儲存,然後不停合併這些陣列,...

歸併演算法 歸併排序

歸併演算法 歸併排序 這周需要用到歸併演算法,於是找了找相關的資料,整理如下 歸併排序 merge sort 是利用 歸併 技術來進行排序。歸併是指將若干個已排序的子檔案合併成乙個有序的檔案。兩路歸併演算法 1 演算法基本思路 設兩個有序的子檔案 相當於輸入堆 放在同一向量中相鄰的位置上 r low...

歸併排序演算法

include stdafx.h include include include 合併兩段已經排好序的列表 void merge int list int mergelist int left int mid int right else if i mid else 將列表list按照seglen分...