Pythonを使用して長さnのリンクリストを作成しようとしています。私はシンプルリストが実装されている、作業連結関数、および作業create_list関数を持っています。ただし、連結されたリストを作成する際に、連結機能(テスト用に作成されたもの)を使用するより効率的な方法があるかどうかを知りたいだけです。Pythonでn-lengthのリンクリストを作成する方法をもっと速く
シンプルリストクラス:
class Cell:
def __init__(self, data, next = None):
self.data = data
self.next = next
を連結機能:
def list_concat(A, B):
current = A
while current.next != None:
current = current.next
current.next = B
return A
リスト作成(それは永遠に取る!):
def create_list(n):
a = cell.Cell(0)
for i in (range(1,n)):
b = cell.Cell(i)
new_list = cell.list_concat(a, b)
return new_list
はこの宿題ですか?もしそうでなければ、実際にはリンクリストをPythonで実装するのはあまり意味がないので、 'list'を使うか、それを継承してください。 – juliomalegria
はい、これはアルゴリズムクラスのテスト目的です。リスト作成を効率的にする必要はありませんが、実装した方法よりも効率的な方法があるのだろうかと思います。 –
http://codereview.stackexchange.com/この種の質問のためのより良い場所かもしれません。 – charlax