Từ điển liên kết python

Python 3 - Tôi chưa quen với việc viết mã và đang gặp khó khăn trong việc đệ quy. Tôi đang tạo một lớp danh sách được liên kết với các phương thức đệ quy để thêm và xóa các mục khỏi danh sách. Ngay bây giờ, tôi không thể xóa một mục nếu nó là mục đầu tiên trong danh sách của tôi. Tôi đã viết một số mã thay thế có thể xóa mục đầu tiên khỏi danh sách nếu tôi bao gồm một tham số khác [trước đó] và một trường hợp cơ sở khác, nhưng sau đó tôi chỉ có thể xóa mục đầu tiên và mất quá nhiều thời gian để tìm hiểu lý do vì vậy tôi đã loại bỏ mục đó . tôi sẽ đánh giá cao một gợi ý

Nội dung chính Hiển thị

Ngoài ra, tôi đã biết rằng tôi có getters và không sử dụng chúng đúng cách

class Node:
    """
    Represents a node in a linked list
    """
    def __init__[self, data]:
        self._data = data
        self._next = None

    def get_data[self]:
        """getter method for data in Node class"""
        return self._data

    def get_next[self]:
        """getter method for next in Node class"""
        return self._next
class LinkedList:
    """
    A linked list implementation of the List ADT
    """
    def __init__[self]:
        self._head = None

    def get_head[self]:
        """getter function for head of list"""
        return self._head

    def add[self, val]:
        """ Adds a node containing val to the linked list - helper function"""
        self._head = self.recursive_add[self._head, val]

    def recursive_add[self, node1, val]:
        """ Adds a node containing val to the linked list """
        if node1 is None:
            return Node[val]
        else:
            node1._next = self.recursive_add[node1._next, val]
            return node1

    def remove[self, val]:
        """removed the node containing val from the linked list - helper function"""
        self.recursive_remove[self._head, val]

    def recursive_remove[self, node1, val]:
        """
        Removes the node containing val from the linked list
        """
        if node1 is None:
            return node1
        elif node1._data == val:
            return node1._next
        else:
            node1._next = self.recursive_remove[node1._next, val]
            return node1

    def main[]:
       my_list = LinkedList[]
       my_list.add[13]
       my_list.add[9]
       my_list.add[5]
       my_list.remove[9]
    


if __name__ == '__main__':
    main[]

Tôi đang cố gắng kết hợp một danh sách Python được liên kết mà không sao chép dữ liệu có trong các nút của danh sách. Tôi có một chức năng sẽ kết hợp danh sách bằng cách sử dụng các bản sao của các nút được truyền vào, nhưng dường như tôi không thể có chức năng không sử dụng các bản sao để hoạt động

Nội dung chính Hiển thị Hiển thị

  • Cách kết hợp hai danh sách được liên kết bằng ngôn ngữ C với các ví dụ
  • Làm thế nào để bạn kết hợp hai danh sách được liên kết?
  • Làm thế nào để bạn liên kết hai danh sách được liên kết trong Python?
  • Điều gì sau đây là hiệu quả nhất để kết hợp 2 danh sách được liên kết?
  • Chúng ta có thể thêm hai danh sách được liên kết không?

This function is for the target target and time;

Đây là lớp tôi đã làm và có chức năng Concatenate

class Cell:
    def __init__[ self, data, next = None ]:
        self.data = data
        self.next = next

def print_list[self]:
    node = self
    while node != None:
        print node.data
        node = node.next

Hàm kết nối không có nghĩa là chức năng thành viên của lớp tế bào

def list_concat[A, B]:
    while A.next != None:
        A = A.next
    A.next = B      
    return A

Hàm này ghi đè lên phần tử đầu tiên của danh sách nếu tham số A có nhiều hơn một nút. Tôi hiểu tại sao điều đó lại xảy ra, nhưng tôi không chắc sẽ làm thế nào để sửa đổi nó

Dưới đây là mã thử nghiệm mà tôi đã sử dụng cho chức năng này

e = Cell[5]
test = Cell[3, Cell[4]]
test2 = list_concat[test2, e]   
test2.print_list[]

Bất kỳ cái nhìn sâu sắc hoặc hỗ trợ nào sẽ được đánh giá rất cao

*Đã chỉnh sửa để sửa mã định dạng

Quay lại. Cấu hình dữ liệu cấu trúc và hướng dẫn thuật toán

Cách kết hợp hai danh sách được liên kết bằng ngôn ngữ C với các ví dụ

Làm thế nào để bạn kết hợp hai danh sách được liên kết?Cách ghép hai danh sách liên kết bằng ngôn ngữ C với các ví dụ. Vui lòng đọc bài viết trước của chúng tôi, nơi chúng tôi đã thảo luận về Quy trình đệ quy để đảo ngược danh sách được liên kết bằng ngôn ngữ C với các ví dụ.

Làm thế nào để bạn liên kết hai danh sách được liên kết trong Python?

Điều gì sau đây là hiệu quả nhất để kết hợp 2 danh sách được liên kết?

Chúng ta có thể thêm hai danh sách được liên kết không?

This function is for the target target and time;

Đây là lớp tôi đã làm và có chức năng Concatenate

Hàm kết nối không có nghĩa là chức năng thành viên của lớp tế bào

Hàm này ghi đè lên phần tử đầu tiên của danh sách nếu tham số A có nhiều hơn một nút. Tôi hiểu tại sao điều đó lại xảy ra, nhưng tôi không chắc sẽ làm thế nào để sửa đổi nó

Dưới đây là mã thử nghiệm mà tôi đã sử dụng cho chức năng này

Bất kỳ cái nhìn sâu sắc hoặc trợ giúp sẽ được đánh giá rất cao.
while[p->next. = NULL]{
        p = p->next;
}
p->next = second;
second = NULL;

*Đã chỉnh sửa để sửa mã định dạng

Quay lại. Cấu hình dữ liệu cấu trúc và hướng dẫn thuật toánTrong bài viết này, tôi sẽ thảo luận về cách kết hợp hai danh sách được liên kết bằng ngôn ngữ C với các ví dụ. Vui lòng đọc bài viết trước của chúng tôi, nơi chúng tôi đã thảo luận về quy trình đệ quy để đảo ngược danh sách được liên kết bằng ngôn ngữ C với các ví dụ. Cách nối hai danh sách liên kết trong ngôn ngữ C với các ví dụ. Vui lòng đọc bài viết trước của chúng tôi, nơi chúng tôi đã thảo luận về Quy trình đệ quy để đảo ngược danh sách được liên kết bằng ngôn ngữ C với các ví dụ. đầu ra

Làm thế nào để kết hợp hai danh sách được liên kết?O[n]

Ở đây, chúng tôi sẽ xem xét sự kết hợp của hai danh sách được liên kết. Cách Hợp nhất hai Danh sách Liên kết trong Ngôn ngữ C với các Ví dụ. Ở đây, trong bài viết này, tôi cố gắng giải thích Cách nối hai danh sách liên kết bằng ngôn ngữ C với các ví dụ và tôi hy vọng bạn thích bài viết này

Làm thế nào để bạn kết hợp hai danh sách được liên kết?

Làm thế nào để bạn liên kết hai danh sách được liên kết trong Python?

Làm thế nào để bạn liên kết hai danh sách được liên kết trong Python?

[1] Tạo một con trỏ đầu mới đến một danh sách được liên kết trống. [2] Kiểm tra giá trị ban đầu của cả hai danh sách được liên kết. [3] Bất kỳ nút nào từ L1 hoặc L2 nhỏ hơn, hãy nối nó vào danh sách mới và di chuyển con trỏ sang nút tiếp theo. [4] Tiếp tục quá trình này cho đến khi bạn đến được danh sách cuối cùng được liên kết

Điều gì sau đây là hiệu quả nhất để kết hợp 2 danh sách được liên kết?

Giải thích. Chúng tôi có thể dễ dàng kết hợp hai danh sách trong thời gian O [1] bằng danh sách liên kết đơn hoặc đôi, miễn phí là chúng tôi có một con trỏ tới nút cuối cùng ít nhất trong các danh sách. Nhưng trong trường hợp các danh sách liên kết đôi tròn, chúng tôi sẽ phá vỡ các liên kết trong cả hai danh sách và kết nối chúng với nhau. danh sách liên kết đơn hoặc đôi, miễn là chúng ta có một con trỏ tới nút cuối cùng của ít nhất một trong các danh sách. Nhưng trong trường hợp danh sách liên kết đôi dạng vòng, chúng ta sẽ ngắt liên kết ở cả hai danh sách và nối chúng lại với nhau. danh sách liên kết đơn hoặc đôi , miễn là chúng ta có con trỏ tới nút cuối cùng của ít nhất một trong các danh sách. Nhưng trong trường hợp danh sách liên kết đôi dạng vòng, chúng ta sẽ ngắt liên kết ở cả hai danh sách và nối chúng lại với nhau.

Chúng ta có thể thêm hai danh sách được liên kết không?

Sau đây là các bước. 1] Kích thước của hai danh sách được liên kết với nhau. 2] Nếu kích thước giống nhau, thì hãy tính tổng bằng cách sử dụng đệ quy. Giữ tất cả các nút trong Ngăn xếp cuộc gọi đệ quy để đến khi nút bên ngoài cùng bên phải, tính tổng các nút bên ngoài cùng bên phải và chuyển về phía trước bên trái

Chủ Đề