線形構造のデータ構造(アレイ[リスト]、リスト鎖** CRUDアプリケーション構造のスタックキュー線形[**関数呼び出し]の形)、線状ツリー

データの構造

参考:http://lupython.gitee.io/

リニア構造

データ構造の行の文字列を一緒にする機能です

 

配列(リスト)

Q:配列は何を適用することが前提条件ですか?[12]?メモリは条件を満たすために必要ですか?

A:メモリは持っている必要があります連続メモリ空間を

[7] int型:配列を宣言、この配列は、配列名aは、アレイ7の大きさは、配列要素のタイプは、整数です。INT [7] =配列(1,2,3,4,5,6,7)

Q:どのように私はメモリを適用していますか?

回答:C、C ++言語、アプリケーション:mallco(28)。リリース:無料(28)

Q:[7] = [1,2,3,4,5,6,7] A [3] = 4 int型?

 [3]が最初のアドレス(1000)+指数(3)タイプ長さ*(4)= 1012 = 1015 ---(int型4バイト)

Q:どこで、配列の最初のアドレスを取得したのですか?

A:最初のアドレスは、アレイのアレイ名に格納されます。

増加リスト(APPEND)は、(のために)(POP)の変更(更新)を確認するには、削除しました

 

一覧(ジョセフ、Diushouフアンの問題)

 

シングルチェーンCRUD

コード:

涼の英雄リーダー
クラスヒーロー():
     DEF  __init__(セルフ、NO =無し、名前=なし、ニックネーム=なし、pNext = なし):
        self.no = NOの
        self.name = 
        self.nickname =ニックネーム     3範囲である 
        self.pNext = pNext   メモリアドレスを保持し、ポインタフィールド

DEF :追加(頭、ヒーロー)
     #ヘッドノードが移動することはできませんので、一時的な変数はトラバースにサードパーティのヘルプヘッド必要 
    CUR =が

    しばらく cur.pNextを! = なし:
         #次のノード有料CURのメモリアドレス、次のノードに指すことになり、この時点でCUR 
        CUR = cur.pNext 

    #ユーザーがこのループを終了すると、エンド・ノードにCURポイントがあり 
    cur.pNext = ヒーロー

DEF のgetAll(ヘッド):
    CUR = 頭ん

     cur.pNext =!なし:
        CUR = cur.pNext
         印刷をコードです:%sの、名前は:%sは、ニックネームがある:S%"(cur.no、cur.name、cur.nickname))

DEF delHero(ヘッド、NO):
    CUR =は

    しばらく cur.pNext =!なし:
         IF CUR。 == pNext.no NO:
             BREAK 
        CUR = cur.pNext 
    cur.pNext =cur.pNext.pNext 

ヘッド =ヒーロー()   ヘッドノード

のH1 =ヒーロー(1、' 松江'' タイムリー' 
の追加(ヘッドのH1)

H2 =ヒーロー(2 ' 俊義'' XXX ' 
追加(頭、H2)

H3 =ヒーロー(。3、' 西門'' dsadsad ' 
を追加(ヘッド、H3)

のgetAll(ヘッド)
delHero(ヘッド、 2 印刷' *********** ' 
のgetAll(ヘッド)

 

 ヨセフはリストで問題を解決する(知っています)

開始者からのパケット数の合意された数k(1 <= K <= N)、列の数mにその人の周りに座って設け番号1,2、... N、個人、その下そして、ラインアップのうち誰になるまで、mまでの数、その人の数と列のgettin 1から、そのためには、それによってチームのシーケンス番号を生成します

循环链表
クラス子(オブジェクト):
    最初 = なし
     デフ __init__(自己、なし=なし、pNext = なし):
        self.no = いいえ
        self.pNext = pNext
     DEFはaddChild(自己、N = 4 ):
        CUR = なし
          I における範囲(N): =子供(I + 1 であれば、I == 0:
                self.first = 
                self.first.pNext = 
                CUR = self.first
             
                cur.pNext = 子供
                child.pNext = self.first 
                CUR = cur.pNext
     DEF showChild(セルフ):
        CUR = self.first
         しばらく cur.pNext =!self.first:
             印刷" 子数ある:Dの%"%のcur.no)
            CUR = cur.pNext
         印刷" 子コードは:Dの%"cur.no)
     DEF countChild(セルフ、M、K):
        尾は = self.first
         !tail.pNext = :self.first  = tail.pNext
         #は、上述した第1に、すでに出てきた
        #の少数の人々からのスタートカウント
         I における範囲(1-K ):
            テール = tail.pNext 
            self.first = self.first.pNext
         最初の二倍の数、及び、移動テールようにすることです
        #の3の数を、それが二回最初の移動と尾を作ることです
        しばらく!=テールself.first:  テール==最初の記述はたった一人だけだった
            ため、私範囲(1-M。 ):
                テール = tail.pNext 
                self.first = self.first.pNext 
            self.first = self.first.pNext 
            tail.pNext = self.first
         印刷人の左の円内の最後の:D%"%のtail.no)
C = 子供()
c.addChild( 4 
c.showChild()
c.countChild( 3,2)
コードの表示

 

線形構造の応用

定義されたスタック:「最後のアウト」のストレージ構造を実装する方法

 分類スタック

スタティックスタック:コアは、連続的なメモリ・アレイに類似の配列、である、あなただけの、そのトップ要素を操作することができます

ダイナミックスタック:コアリスト

 

 **コール機能(動作原理は、基礎となります):

 ポップ

 判決:スタックが空の場合は、機能の代表が実行され、メモリを解放

 

キュー

定義:「FIFO」データ構造を達成する方法

 生産者 - 消費者モデル(オペレーティングシステムの概念は、様々な言語で実現することができる)のようなアプリケーション

 

非線形構造

木の定義

単にその:

  • そして唯一のツリーのルート
  • いくつかの互いに素サブツリーがありますが、木自体がサブツリーがあります

人気の定義:
1.ツリーは、ノードとエッジで構成されている
各ノードは一つだけの親を持つことができますが、複数の子ノードを持つことができます2。しかし、ノードへの1つの例外があり、ノードに親がない、これはルートノードと呼ばれています

専門用語ツリー

  • ノード
  • 子ノード
  • 後世
  • カズンズ
  • ブラザーズ
  • 深さ
    • ルートノードからノードへの層が底深さと呼ばれ、ルートノードは、第一層です
  • リーフノード
    • ノードが子を持ちません
    • 子ノードの数

分類ツリー

一般的な木

  • ノードB +ツリーの任意のサブノードの数は限定されるものではありません

二進木

  • 定義:最大2つの子ノードのノード番号の子供の任意の位置を変更することはできません
    • 完全なバイナリツリー
      • 定義:層数を増やすことではないという前提の下で、あなたは、バイナリツリーのノードを追加することはできません
      •  
    • 完全なバイナリツリー
      • 定義:完全なバイナリツリーばかりのノードの一番右の連続した番号の下を削除
    • 一般的なバイナリツリー

  • 数字のnは互いに素セット

 

アプリケーションツリー

  • ツリーは、データ編成の重要な形式のデータベースです
  • オペレーティングシステム自体との間の関係は、親木の子であります
  • 継承表面タイプオブジェクト言語クラス

 

推奨ブックス

 

おすすめ

転載: www.cnblogs.com/ludingchao/p/12634469.html