PIXNET Logo登入

Archer, who doesn't know how to shoot...

跳到主文

我想寫小說!

部落格全站分類:圖文創作

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 5月 06 週日 201218:32
  • 排序法 - 謝爾貝殼排序法

首先我一定要提醒大家一件事情:謝爾排序法最一開始是用來改良「插入排序法」的,所以裡面的觀念不是SWAP,而是「插入」。會這樣寫一個前提的原因,是因為我在上課的時候,某個老師將「插入」這個動作誤植為「交換」,所以讓很多人一頭霧水。說真的,不是我偏,但身為一個補習班老師,你就不能講得正確一點嗎!?Doth thou monther know you were such idot? (#註1)
謝爾貝殼排序法要先找到級距(gap),最簡單的級距就是把陣列大小/2。相同級距的值作為一個位元組進行插入排序,結束之後級距/2進入迴圈,直到級距等於1 為止。
 
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define SWAP(a,b){ int temp =a;a=b;b=temp;}
(繼續閱讀...)
文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣(1,240)

  • 個人分類:C++的世界
▲top
  • 5月 02 週三 201216:42
  • 選擇排序法

簡單說就是第一次找到最小的放到第一個元素位置,第二次找到第二小的放到第二個元素位置......
BIG OH大約是.... n+n-1+n-2+...+2 = ((n-2+1)n)/2 = ((n-1)n)/2
因此約等於O(n2) 
(繼續閱讀...)
文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣(209)

  • 個人分類:C++的世界
▲top
  • 5月 01 週二 201222:26
  • 快速排序完成版

好,細部分解完快速排序之後,讓我們依照由左到右、由小到大的順序,再玩一次快速排序。
這一次,我們要用最簡短的方式試看看
 
 
(繼續閱讀...)
文章標籤

archerdevil 發表在 痞客邦 留言(1) 人氣(133)

  • 個人分類:C++的世界
▲top
  • 5月 01 週二 201214:45
  • 著名排序法:快速排序

進入快序排序法之後,其實就很考驗邏輯思考,所以其實我很少用快速排序或者是合併排序法。理由很簡單,寫起來很麻煩很囉唆,一不小心就會錯很大。
不過該寫還是要寫,該複習還是要複習,所以今天來玩所謂的不穩定排序法:快速排序。
快速排序的動作如下
1. 決定一個基準點(中間、左邊、或者右邊)
(繼續閱讀...)
文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣(371)

  • 個人分類:C++的世界
▲top
  • 4月 30 週一 201212:33
  • 著名排序法﹍選擇排序法

總覺得今天狀況不是很好,腦子不是很清楚,一個選擇排序寫好久,自以為邏輯對,結果把自己繞到迷宮理去了XDD
所謂的選擇排序,就是當你要由小到大排序的時候,先找到最小的紀錄起來,然後與第一個位置交換。
比如說當你今天有意個array{5,4,3,2,1},你打算由小到大重新排列
那第一輪過後一定是{1,4,3,2,5}
(繼續閱讀...)
文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣(4,833)

  • 個人分類:C++的世界
▲top
  • 4月 26 週四 201215:21
  • 著名排序法-泡泡排序法 之二

泡泡排序玩過之後,為什麼會有本篇「之二」誕生?
很簡單,因為這一次要玩的,是降低運算次數。為什麼要降低運算次數?
很簡單,假設我們有一個陣列大小為三的陣列arr[3]={A, B, C}
如果不降低次數的話,使用兩個迴圈,總次數為:(n-1)(n-1) = 2*2 = 4次 //不要忘記統統從零開始
(繼續閱讀...)
文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣(685)

  • 個人分類:C++的世界
▲top
  • 4月 26 週四 201213:56
  • 著名排序法之一:泡泡排序

雖然很簡單但還是要複習一下的基礎排序法之一:泡泡排序法
這大概是所有學寫程式的人一定會遇到的問題。這個問題練習了兩個主題,一個是基礎排序,另外一個是兩值交換。兩值交換有好幾種方法,一種是多增加一個變數,用三個空間做兩個值的互換,另外一種是只能用在數字上:B=A+B, A=B-A, B=B-A。這種方法可以在不增加變數空間佔用的狀況下實現兩個數值的交換>
範例:
int A = 9;
(繼續閱讀...)
文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣(3,807)

  • 個人分類:C++的世界
▲top
  • 4月 25 週三 201216:17
  • 陣列與一般佇列

昨天寫了陣列與一般堆疊,講到堆疊當然會想到佇列,所以今天來玩一般佇列。
一般佇列當然是先進先出,也就是說從嘴巴吃進去從屁股拉出來,所以會有top當作屁股、rear當作嘴巴,放置item一定都從嘴巴,刪除一定都從屁股。
需要寫到的當然會有create功能(用來初始化佇列),isempty、isfull(用來判斷是否空佇列、是否有空間可以放入),add功能(放入)、以及del(刪除)功能。其實一般佇列應該還要寫一個釋放空間功能,因為佇列的存入一定是從rear,一般佇列並不像是環狀佇列一樣頭尾銜接,所以如果沒有釋放空間功能的話,當rear的位置在陣列的最尾端時,不管陣列中有沒有空間都是無法繼續放入元素的。
 
(繼續閱讀...)
文章標籤

archerdevil 發表在 痞客邦 留言(1) 人氣(115)

  • 個人分類:C++的世界
▲top
  • 4月 24 週二 201222:48
  • 用array做堆疊

上一次用鍊結串列做過,不過說到堆疊,C語言最好還是用一般陣列寫
有鑑於此,所以這次我用陣列玩看看。
 
首先,要說明一下。堆疊的建構有幾個一定要出現的,比如說create功能(初始化堆疊)、push功能(置入)、pop功能(取出/刪除)、以及很重要的IsEmpty(判斷是否為空堆疊,沒有這個pop會出錯);除了這四個以外,如果用陣列來做,就一定要考慮到陣列空間是否已滿。如果用鍊結串列來做,因為空間是「需要才加上去」,空間配置是可動的,所以IsFull這個功能可以不要沒關係,但如果是陣列,沒有這個功能,恐怕就會有溢出問題。
(繼續閱讀...)
文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣(1,304)

  • 個人分類:C++的世界
▲top
  • 4月 14 週六 201214:39
  • 物件導向

不管是系統分析、資訊管理、還是程式語言,統統都會講到OO(物件導向,Object Oriented)概念,而且被提及得非常頻繁。究竟什麼是物件導向?這大概可以分成兩個層面來說:OOA(物件導向分析)、以及OOD(物件導向設計)。
 
所謂的OOA,是把整個需求拆解成幾個甚至於許多個細部需求,這些細部需求組合起來必然為委案者的原始需求,然後根據這些被簡化了的細部需求瞭解各種功能物件,從而在分析階段清楚的辨明整個需求的面貌。
OOD則是建立在OOA前提之上;根據物件導向分析結果,分別同步或依序設計、撰寫、測試、組裝所有的功能元件,以一種類似於模組化設計生產的方式,將需求實質化。
(繼續閱讀...)
文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣(154)

  • 個人分類:C++的世界
▲top
123»

Embeded the songs in the blog

文章搜尋

個人資訊

archerdevil
暱稱:
archerdevil
分類:
圖文創作
好友:
累積中
地區:

熱門文章

  • (3,686)PTT SEX板 文章代碼:#1C-P2Yk3(這題目也很詭異...)
  • (2,461)試證 AVL樹最小節點數量公式N=F(h+2)-1
  • (2,413)C++作業:Function Template練習,整數,浮點數,字元比大小
  • (1,017)Ackerman Function 亞克曼函數
  • (254)廢死之我見(這標題...= = )

最新文章

  • 一
  • 企業目的
  • 排序法 - 謝爾貝殼排序法
  • 選擇排序法
  • 快速排序完成版
  • 著名排序法:快速排序
  • 著名排序法﹍選擇排序法
  • 著名排序法-泡泡排序法 之二
  • 著名排序法之一:泡泡排序
  • 陣列與一般佇列

最新留言

  • [14/10/28] mxt8d 於文章「陣列與一般佇列...」留言:
    xdvd4 太棒〇了 找◎了﹎好久☉終﹉於找〇到...
  • [13/12/27] y6yutj17x 於文章「快速排序完成版...」留言:
    小楊吃了◇壯陽藥☉-馬♂子愛'﹎他愛☉的...
  • [13/12/17] y838h4 於文章「企業目的...」留言:
    絕對高☆潮﹎情~趣§用﹌品♀給§你最♂好☆的私□密...
  • [13/10/24] 不是這樣寫就好了嗎@@? 於文章「連小孩都會的Unix/Linux Scr...」留言:
    #!/bin/bash if [ "$1" == "a...
  • [10/12/24] 絳芷羽 於文章「殺戮其實一點都不難(Re: [問卦] 聖...」留言:
    給你拍拍手,在他們動手的那個時候,就已喪失自己的人權了...
  • [10/12/24] 絳芷羽 於文章「亞洲大學顆顆顆...」留言:
    台中人 是勤儉持家的....(舉手...
  • [10/12/23] 姬蝶 於文章「Re: [認真] 請問有人邊哭邊射過嗎?...」留言:
    冏.....看到後面真的好像鬼故事 過分幻想的虛構鬼故事 但...
  • [10/12/18] 股哥(Good-go) 於文章「殺戮其實一點都不難(Re: [問卦] 聖...」留言:
    您好! 去過我格子的格友 我都會去回訪 亦恰巧看到貴版一些標...
  • [10/12/18] 股哥(Good-go) 於文章「廢死之我見(這標題...= = )...」留言:
    唉~ 看到數據更驚人對吧! 問那小孩的問題 有非常嚴重的邏輯...
  • [10/12/18] 股哥(Good-go) 於文章「殺戮其實一點都不難(Re: [問卦] 聖...」留言:
    敝人與君所見亦同 生命當然可貴 自新更屬難得 然欠缺適當配套...

文章分類

toggle 我想寫小說 (2)
  • 超人病毒 (1)
  • 六芒星戰爭_擁有紋章者 (11)
toggle 亂七八糟的愛迪爾 (4)
  • PL/SQL (1)
  • Java (1)
  • C++的世界 (22)
  • Unix and Linux的世界 (1)
toggle 亂七八糟的碎碎念 (4)
  • 咆嘯屋 (1)
  • 新鮮屋 (6)
  • 旅遊屋 (1)
  • PTT (8)
  • 未分類文章 (1)

文章精選

誰來我家

參觀人氣

  • 本日人氣:
  • 累積人氣:

職場求生特訓

我去誰家