pta第2章

ヘッドポインタはリンクリストの最初のノードへのポインタであり、単一リンクリストのすべての操作はヘッドポインタから開始する必要があります。リンクリストの最初のノードは、ヘッドノードまたは最初のノードにすることができます。
最初のノードは、リンクリストの最初のデータ要素を格納するノードです。
ヘッドノードは、最初のノードの前に接続されたノードです。ノードはデータ要素を格納せず、そのポインタフィールドは最初のノードを指します。
ヘッドノードの機能は、リンクリストの操作を容易にすることです。リンクリストの各要素に先行要素があることを確認してください。ヘッドノードがない場合、テーブルのヘッドに要素を挿入する方法は、テーブルの他の場所に要素を挿入する方法とは異なります。開始ノードには直接の先行ノードがないため、ノードをテーブルヘッダーに挿入するには、ノードの後続ポインターが元のテーブルヘッダーを指し、新しく挿入されたノードをテーブルヘッダーとして設定する必要があります。ノードを他の場所に挿入する場合は、直前の後続ノードだけでなく、直前の先行ノードにも接続する必要があります。削除操作についても同じことが言えます。ヘッドノードを設定した後、テーブルヘッド要素には、ヘッドノードである直接の先行要素もあります。このように、挿入および削除操作中に開始ノードを挿入または削除する特別な場合はありません。コードを大幅に簡素化するために追加のノードのみが必要であり、特別なケースを検出する必要がなくなります。テストの量を減らすと時間を節約できるため、時間のパフォーマンスも向上します。

1.順次格納される長さNの線形リストの場合、ノードへのアクセスとノードの追加の時間計算量は、それぞれO(1)とO(N)に対応します。
√2
。線形テーブルで最も一般的に使用される操作が、指定されたシーケンス番号の任意の要素にアクセスし、最後に挿入および削除操作を実行することである場合、シーケンシャルテーブルストレージを使用すると、最も時間を節約できます。
√、最後に追加および削除
3. Nノードの単一リンクリストでは、ノードへのアクセスとノードの追加の時間計算量は、それぞれO(1)とO(N)に対応します。
×、配列では正しいですが、これは単一のネックレスリストであり、添え字を介して要素に直接アクセスすることはできず、バイナリ検索を実行することもできません
。4.Nデータを昇順で単一リンクリストに整理して保存します。二分探索を使用する場合、探索の平均時間計算量はO(logN)
×
5です。連続して格納される長さNの線形テーブルの場合、最初の要素を削除して最後の要素を挿入する時間計算量はO(1)に対応します。およびO(N)。
×
6。リンクリストを使用して線形リストを表す場合、リスト内の要素のアドレスは連続している必要があります。
バツ

1.線形テーブルがチェーンストレージ構造を採用している場合、メモリ内の使用可能なストレージユニットのアドレスが必要です

    A.必须是连续的
    B.连续或不连续都可以
    C.部分地址必须是连续的
    D.一定是不连续的

B

2.線形テーブルで最も一般的に使用される操作は、最後の要素の後に要素を挿入し、最初の要素を削除することです。最も計算時間を節約するために使用されるストレージ方法は何ですか。
(2分)

       A.单链表
       B.仅有尾指针的单循环链表
       C.仅有头指针的单循环链表
       D.双链表

A
3.テーブルの最も一般的な操作がノードの挿入、または最後のノードの後の最後のノードの削除である場合。どのストレージ方法が最も計算時間を節約しますか?
(2分)

      A.单链表
       B.双链表
        C.单循环链表
        D.带头结点的双循环链表

おすすめ

転載: blog.csdn.net/weixin_46064382/article/details/109270164