アルゴリズム入門
アルゴリズム#アルゴリズム#
定義#テイギ#
限られたステップで問題を解決するステップまたは方法.主にコンピュータ用語に用いられ、コンピュータがある仕事を実行する段階的な方法を指す.
コンピュータ上でアルゴリズムを表現する方法
1.首都コード
2.シーケンス図
アルゴリズムの性能を測定する
APSカリキュラムの目標の一つは、より良いアルゴリズムを理解し、利用することです。
良いアルゴリズムとは何ですか?
与えられた問題を解決するために、さまざまなアルゴリズムを使用することができます.
->どのアルゴリズムを使うべきですか?
アルゴリズムのパフォーマンスを分析する必要があります:多くの問題で、パフォーマンス分析を標準としてアルゴリズムのワークロードを比較します.
#1.
s = 0
for i in range(1,101) :
s+=1
#2.
100*(100+1)/2
アルゴリズムのワークロードを表現する際には,時間的複雑さで表す.
時間の複雑さ
#1
def CalcSum(n) :
sum =0
for i in range(1,n+1) :
sum=sum+i
return sum
#2
def CalcSum(n) :
reutnr n*(n+1)/2
ビオ記号法
#ex)
O(3n+2) > O(3n) > O(n)
O(2n^2 + 10n + 100) = O(n^2)
O(4) = O(1)
整列
Num0 = 0 ; Num1=1; Num2 = 2; Num3=3; Num4=4; Num5=5; == Num=[0,1,2,3,4,5]
タイルが必要
1 Dアレイの宣言
他の宣言メソッドがない場合は、変数の初期値を指定するときに
Arr = list()
Arr = []
Arr = [1,2,3]
Arr = [0]*10
1 Dアレイの近似
アレイ使用率の例:Gravity
ツールバーの
2つ以上のデータを特定の基準で小さい順から大きい順に並べ替える
身長
ソートのタイプ
効率的な線形時間ソートアルゴリズム
シーケンス(フルナビゲーション)
ひとつながり
異なるnにおいて、r個を選択する手順を以下に示す.
nprは次のように構成される.
nPr = n*(n-1)*(n-2)*...*(n-r+1)
#n에서 1만큼 빼가며 r번 곱한다.
グレースケールアルゴリズム
GRADYアルゴリズム操作手順
≪年選択|Year Selection|emdw≫:現在の状態でローカル問題の最適解を求め、その部分をコレクションに追加します.
実行可能性チェック:新しい部分解セットが実行可能かどうかを確認します.すなわち、問題の制約条件に違反しているかどうかを確認します.
解チェック:新しい部分解集合が問題の解になるかどうかを確認する.問題全体の年がまだ完成していない場合は,1)の年選択から再開する.
つりを減らす
お客様におつりを出す紙幣とコインの個数を最小限に抑えるにはどうすればいいですか?
1)年選択:ここは遠くを眺める必要がなく、最高の年を選ぶ.大きなコインだけで小銭を探すと、コインの個数が減るので、今選べる最大単位のコインを選んで、おつりに追加します.
2)実行可能性検査:おつりがお客様に渡すべき金額を超えているかどうかを確認します.超える場合は、最後に追加した硬貨をおつりから外して1)に戻し、今より一歩小さい単位硬貨を追加します.
3)海検事:お金を探す問題の年は、もちろんお金を探すのはお客さんにあげる金額と一致します.いくらあげても少なめにはあげられないので、おつりが足りないことを確認したら、また1)に戻り、おつりにつけるコインを選びます.
Reference
この問題について(アルゴリズム入門), 我々は、より多くの情報をここで見つけました https://velog.io/@holawan/알고리즘-입문テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol