TIL 40最初のSolo Day
今日の目標。🗒
BigO記号✓の整理
1.BigOマーク法は?
数学はアルゴリズムの性能を表す記号です.
時間的複雑さと空間的複雑さを表現できます.
大きなエラータグは、アルゴリズムの実際の実行時間を表しません.
その目標は、データまたはユーザー成長率に基づいてアルゴリズムのパフォーマンスを予測することです.
種類
• O(1) Constant complexity
入力値が増加しても時間は増加しません.
function O_1_algorithm(arr, index) {
return arr[index];
}
let arr = [1, 2, 3, 4, 5];
let index = 1;
let result = O_1_algorithm(arr, index);
console.log(result); // 2
• O(n) Linear complexity入力値が増加するにつれて、時間も同じ割合で増加します.
function O_n_algorithm(n) {
for (let i = 0; i < n; i++) {
// do something for 1 second
}
}
• O(log n) Logarithmic complexityアルゴリズムのシンボルは、必要な値にナビゲートするたびに半減します.
let nthPower = function (base, exponent) {
// Base case:
if (exponent === 0) {
return 1;
// If exponent is odd
} else if (exponent % 2 !== 0) {
return base * nthPower(base, exponent - 1);
// If exponent is even
} else {
return nthPower(base * base, exponent / 2);
}
};
• O(n^2) Quadratic complexity入力値が増加するにつれて、時間は入力値の平方数のパーセントで増加します.
function O_quadratic_algorithm(n) {
for (let i = 0; i < n; i++) {
for (let j = 0; j < n; j++) {
// do something for 1 second
}
}
}
• O(2^n) Exponential complexity入力値が増加するにつれて、時間はジオメトリレベルで増加します.
マーキング法で最も遅い時間複雑度を有する.
function fibonacci(n) {
if (n <= 1) {
return 1;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
参考資料:https://www.youtube.com/watch?v=6Iq5iMCVsXA&t=127sコード状態UrClass
エキストラ
学習反応.
oh myzshトピック設定
Today's key💡
大悟マーク法を整理しているうちに、最初は理解できなかったことが理解できました!
82 oh myzshトピックが設定されており、より読みやすい端末を使用できます.
沴反応の基本概念を勉強している
Self-Evaluation
ブログの必要性を感じて、今まで毎日TILを書いていました.
書き続けてきたことから達成感を感じましたが、今は質を上げる時になったようです.
そこでDailyScrumでブログ作成テンプレートを作成しました.
これからは毎日テンプレートに従ってブログを書きます.
これらがきちんと積み重ねられて、これからきっと収穫があることを望んでいます.
Reference
この問題について(TIL 40最初のSolo Day), 我々は、より多くの情報をここで見つけました https://velog.io/@moon3356/TIL-40일차-Solo-Dayテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol