[PIA]4章VIGO,資料型


[Topic 1]上限と最悪は異なる


本の内容を勉強しているうちに、次のような概念を見ました.
ここで重要なのは、上限と最悪の状況を混同することです.bigoタグ法は、長すぎて複雑な関数を「適切に正確に」表現する方法であり、最悪の場合や平均的な場合の時間複雑度とは何の関係もない概念であることに注意してください.
いいえ、一番遅く運行する時はbigo(O)、つまり上限ではないでしょうか.
それは最悪の状況ではないでしょうか.次に具体的な例を挙げます.

2018〜19シーズンに行われる韓国プロバスケットボール外国人選手の身長は2メートルを超えてはならない.AとBは会話中で、Aはぼんやり(?)覚えています.Bは以上の規定についてAに尋ねる.
B:「あの時KBL外人の身長制限はいくらだったっけ?」
A:「うん…2メートル20センチくらいで抜いたんじゃない?
上記の内容を最悪の場合と比較すると、
  • 上限:約2メートル20センチ以内に抜く
  • の最悪の場合、実際の鍵制限は2 m(
  • )です.
    このように見ると、最悪の場合は上限に含まれる可能性があります.
    つまり、身長制限2 mは2 m 2 0 cm以内.
    Aが上限が2 mだと言ったら、最悪の場合は上限かもしれません.
    しかし、同じ意味ではなく、ある程度「適切で正確」な表現です.

    なぜ不変オブジェクトと可変オブジェクトを区別するのか[Topic 2]


    Pythonには不変のオブジェクトが存在します.
    オブジェクトが変化しない場合は、次のような特徴があります.
    1. Thread Safe
  • ある関数、変数またはオブジェクトが同時に複数のThreadからアクセスしても、プログラムの実行に問題はありません.
  • 2. Improve Correctness & Clarity
  • プログラムが終了するまで、値は
  • のままである.
  • の値
  • を変更する必要はありません.
    3. Mutable is harder to reason
  • 複数の参照が同じオブジェクトを指す場合、コードの正確性が脅かされる
  • .
  • のコードの一部で値を変更すると、コードの他の部分では
  • に影響を受ける.
    次のコードは、不変オブジェクトの理解に役立ちます.
    myList = []
    
    for i in range(10) :
            myList.append(‘hello’)
    
    for i in range(10) :
            print(id(myList[i]))
    結果:myListの要素のすべてのアドレス値は同じです!