[航海992期]5日目TIL
1893 ワード
💪 Today I Learnedアルゴリズム第1、2週課程 Algorithm
アルゴリズムの改良
機能を実装したからといって終了するのではなく、より良いアルゴリズムで改善できないかどうかを考慮する必要があります.
たとえば、特定の数値より小さいすべての小数点をリストする場合、アルゴリズムは、少数の必要な十分な条件で改善できます.
[小数をリスト]
1.少数の人は自分と1以外何も分かち合えない.
2.与えられた自然数Nが素数である必要十分な条件は、「NがNより大きくない平方根の素数に分けられない」ことである.
配列vsリンクリスト
アレイアレイは、各要素に直ちにアクセスすることができる->O(1); 配列中に要素を挿入/削除するには、すべて移動する必要があります.最悪の場合,配列の長さはNを移動しなければならないので,O(N)の時間的複雑さを持つ. 要素を追加するには、非常に非効率な資料構造である新しい空間を割り当てる必要があります. リンクリスト(linklist)リストサイズの不確定なデータの空間->接続、 を自由に拡張できるリスト特定の要素にアクセスするには、ポインタに沿ってナビゲートする必要があります.最悪の場合,すべてのノードをブラウズする必要があるため,O(N)の時間的複雑さがある. リストは、前後のポインタを変更するだけで、要素を挿入/削除できます.要素挿入/削除はO(1)の時間的複雑さ内で行うことができる. さいきかんすう再帰関数を使用するには、常に脱出条件が必要です. 再帰関数は、呼び出しによってコードを簡潔にすることができる. 再帰関数で解くためには,問題は縮小の特徴を示さなければならない->ある構造が重複した状態を示している場合は,再帰関数で問題の範囲を縮小して解くのではないか. Python
for-else文
今日アルゴリズムを勉強しているとPythonにfor else文があることに気づきました.
else文にfor文にbreakがないときの動作を書けばいいです.
今日は『TILの大切さと作り方』の特講を聞いて、簡単でもTILを作り続けたいと思います.新しいものを知っていても、記録はしないので忘れやすいです.これからはちゃんと記録しなきゃ!
アルゴリズムの改良
機能を実装したからといって終了するのではなく、より良いアルゴリズムで改善できないかどうかを考慮する必要があります.
たとえば、特定の数値より小さいすべての小数点をリストする場合、アルゴリズムは、少数の必要な十分な条件で改善できます.
[小数をリスト]
1.少数の人は自分と1以外何も分かち合えない.
2.与えられた自然数Nが素数である必要十分な条件は、「NがNより大きくない平方根の素数に分けられない」ことである.
配列vsリンクリスト
アレイ
for-else文
今日アルゴリズムを勉強しているとPythonにfor else文があることに気づきました.
else文にfor文にbreakがないときの動作を書けばいいです.
for i in prime_list:
if num % i == 0 and i * i <= num:
break
else:
prime_list.append(num)
📢 一言今日は『TILの大切さと作り方』の特講を聞いて、簡単でもTILを作り続けたいと思います.新しいものを知っていても、記録はしないので忘れやすいです.これからはちゃんと記録しなきゃ!
Reference
この問題について([航海992期]5日目TIL), 我々は、より多くの情報をここで見つけました https://velog.io/@nmkimsy22/항해99-2기-TIL-5일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol