メモリ
- コンピュータの役割
- バイナリデータを格納し、計算するため
- コンピュータのメモリサイズの単位の目安:
- ビット(ビット):
- バイト:8ビット
- KB:1024のバイト
- メガバイト:1024キロバイト
- 質問:どのようにコンピュータが1 + 2を計算するには?
- これは、コンピュータのメモリにメモリ空間を開く必要があります
- メモリに格納されている唯一の対応する値
- 変数の概念
- コンピュータ(メモリマップ)で= 10意味表現
- 優れたメモリ空間が開かれた後、メモリ空間のすべての部分は、2つのデフォルトのプロパティを持っています
- メモリ空間の大きさ:コンピュータのメモリサイズユニット
- メモリアドレス空間:進数値
- 効果に対処:位置決め(トラッキング)指定されたメモリのために、メモリに格納されたデータを取得することができます
- 変数は、メモリアドレス空間の本質を表し、通常変数は、メモリ空間に対応するメモリアドレスを表すように意図されています
- =は、メモリ10(基準点)が理解しました
- 引用:変数
- 点:メモリに記憶された基準の特定の変数/アドレス場合は、対応するメモリ空間のメモリ・アドレスにその変数ポインティングを意味します。
- 異なるデータによって占有されたメモリ空間の大きさ
受注テーブル
- 単一のデータタイプ(numpyの)と、複数のデータ・タイプ(リスト):コンテナ/データ構造の要素が順次に格納され、シーケンステーブルの構造は、二つの形態に分けることができます。
- Pythonのリストとタプルは、テーブルを注文する複数のデータタイプに属しています
- Singleデータ型シーケンステーブルのメモリマップ(メモリ連続オープン)
- 複数のデータ型図、シーケンステーブルメモリ(RAM不連続オープン)
- テーブルの過誤順序:順序テーブル構造は、連続した収納スペースを適用するために、事前にデータのサイズを知る必要があり、時間とデータの再配置の中に拡大する必要があります。
リスト:再配置テーブルのオーダーに対するデータが、リスト構造は、柔軟で拡張するために動的なメモリ管理、コンピュータメモリを利用しなくてもよいです。
- リスト(リンクリスト)は、共通の基本データ構造、リニアテーブル、シーケンステーブルとしてではなく連続的に格納されていないデータが、次のノードに格納された各ノードの情報(データ記憶手段)(ありますそのアドレス)
。Is_empty():リストは空です
。長さ():鎖長
トラベル():リスト全体トラバース
。(アイテム)を追加:リスト要素のヘッドを追加します
。追加(アイテム):要素を追加するには、リストの末尾
(POS、項目)を挿入:指定された場所の要素を追加
。(アイテム)を取り外し:ノードを削除します。
。検索(アイテム):がある場合、ノードを探します
#各 クラスノード(): DEF __init __(自己、アイテム): self.item = 項目 self.next = なし #リスト クラスのリンク(): #は空のリストを作成 DEFの__init __(自己を): self._head = なし チェーンの#ヘッド追加データが 追加(セルフ、項目を)DEF: #はインスタンス化 ノード = ノード(項目) #ノートが空でない場合は、追加する方法を node.next = self._head self._head =をノード #表示リストが デフ旅行を(自己): CUR = self._head 一方CUR: プリント(cur.item) CUR = cur.next #鎖長 DEF長さ(自己): COUNT = 0 CUR = self._head 一方CUR: COUNT + =を1 CUR = cur.next 戻りCOUNT DEFのisEmpty(自己) : リターン self._head == なし #は、リストの末尾に追加 DEFアペンド(セルフ、アイテム): ノード = ノード(項目) #リストが空である IF = self.isEmpty(): self._headのノード 戻り #链表不为空 CUR = self._head 予備 = なし ながらCUR: 予備 = CUR CUR = cur.next pre.next = ノード #查找 DEF(自己、項目)検索: フラグ = Falseの CUR = セルフ._head 中:CUR 場合 cur.item == アイテム: フラグ = 真の ブレーク CUR= Cur.nextの 復帰フラグで 挿入された# (セルフ、POS、品目)を挿入DEF: #挿入位置誤差 の長さ = self.length() IF <POS 。1やPOS>は長さ: 印刷(' POSエラーが' ) を返す それ以外: ノード = ノード(アイテム) を挿入#は開始値を想定1。 CUR = self._head 予備 = なし 用 I における範囲(POS- 1 ): 事前 = CUR CUR = cur.next pre.next = ノード node.next = CUR #最初の要素を削除するには、[削除遭遇 DEF削除(セルフ、アイテムを): CUR = self._head 前 = なし #は、最初の削除ノード のIF cur.item == アイテム: self._head = self._head.next 返す #ノードを削除することはまずない のwhile :CUR IF cur.item == アイテム: pre.next =cur.next 破る 他: 前 = CUR CUR = cur.next #链表图 リンク =リンク() link.append(1 ) link.append(2 ) link.append(3 ) #1 link.travel() #印刷(リンク.LENGTH()) #プリント(link.isEmpty()) #プリント(link.search(4 )) #1 link.insert(2、 1 ) link.remove(1 ) link.travel()