pythonは、シングルチェーンテーブルから最後からK番目のノードを削除する方法を実現します。
本論文の例では、pythonが単一チェーンテーブルから最後からK番目のノードの具体的なコードを削除することを実現しています。
タイトル:
チェーンテーブルを指定して、最後からk番目のノードを削除します。
コード:
この関数の中で、私はもう一度シングルチェーンテーブルからノードのコードを削除すると書きましたが、実はいらないです。シングルチェーンの種類を実現する時にもう一つの結点を削除する方法を書きました。Pythonバージョンのシングルチェーン表はコードを実現します。時間の複雑さは循環リンク表であり、空間の複雑さはポインタを使っています。
ダブルチェーンなら複雑さは落ちていません。結局はもう一度循環します。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
タイトル:
チェーンテーブルを指定して、最後からk番目のノードを削除します。
コード:
class LinkedListAlgorithms(object):
def __init__(self):
pass
def rm_last_kth_node(self, k, linked_list): # K ,
if linked_list.is_empty():
print 'The given linked_list is empty.'
if k < 1 or k > linked_list.get_length():
print 'Wrong kth number out of index.'
k = linked_list.get_length() - k
if k == 0:
p = linked_list.head
linked_list.head = p.next
else:
p = linked_list.head
for i in xrange(k-1):
p = p.next
p.next = p.next.next
分析:この関数の中で、私はもう一度シングルチェーンテーブルからノードのコードを削除すると書きましたが、実はいらないです。シングルチェーンの種類を実現する時にもう一つの結点を削除する方法を書きました。Pythonバージョンのシングルチェーン表はコードを実現します。時間の複雑さは循環リンク表であり、空間の複雑さはポインタを使っています。
ダブルチェーンなら複雑さは落ちていません。結局はもう一度循環します。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。