Tái phát cho loại chèn đệ quy


9

Tôi đã thử vấn đề này từ CLRS (Trang 39, 2.3-4)

Chúng ta có thể biểu thị sắp xếp chèn như một thủ tục đệ quy như sau. Để sắp xếp A[1... n], chúng tôi sắp xếp đệ quy A[1... n-1]và sau đó chèn A[n]vào mảng đã sắp xếp A[1... n-1]. Viết một lần lặp lại cho thời gian chạy của phiên bản đệ quy sắp xếp này.

Sự tái phát tôi hình thành là

T(n)={Θ(1)if n=1,T(n1)+Θ(n)if n>1.

Lý luận của tôi

  • trường hợp cơ sở của n=1 danh sách được sắp xếp để không có công việc do đó thời gian không đổi.
  • Đối với tất cả các trường hợp khác, thời gian phụ thuộc vào việc sắp xếp chuỗi A[1...n-1]và sau đó chèn vào chuỗi đó. Do đó, nó phải là tổng của họ, nghĩa là,T(n1)+Θ(n).

Tôi muốn biết liệu mối quan hệ tái phát là chính xác. Nếu không những sai lầm là gì và làm thế nào để xây dựng chính xác một mối quan hệ tái phát?


1
Bạn có thể quan tâm đến câu hỏi tham khảo của chúng tôi . Cụ thể, khái niệm "thời gian chạy" là mờ nhạt, sự tái diễn vớiΘ-terms không phải là cách tốt nhất để đặt mọi thứ và một số loại giải quyết tái phát đã được thảo luận. Lưu ý rằng các câu hỏi "có - không" thường không mong muốn ở đây. (Tôi lưu ý rằng câu hỏi đã cũ; để lại nhận xét để tham khảo.)
Raphael

Câu trả lời:


6

Theo mô tả bạn cung cấp sự tái phát là chính xác.
bạn có thể nghĩ rằng nó phải là
T (n) =

{1, n=1T(n1) + Θ(log n), otherwise}

bởi vì bạn có thể tìm vị trí chèn bằng cách sử dụng Tìm kiếm nhị phân, tuy nhiên để thực sự chèn phần tử, bạn sẽ phải di chuyển tất cả các phần tử trong trường hợp xấu nhất.

Tìm kiếm tuyến tính mất O(n)và bằng cách thực hiện tìm kiếm nhị phân O(log n). Nhưng không phải trường hợp xấu nhất là sự chuyển động của tất cả các yếu tố sẽ dẫn O(n)đến sự phức tạp chung O(n)sao? Vậy tại sao thuật ngữ trong n != 1O(log n)thay vì được O(n)?
Aseem Bansal

2
bạn nói đúng, đó là chính xác những gì tôi nói. công thức trên sai chính xác vì chuyển động của các phần tử mất O (n)
hcf

Tôi nên đọc kỹ hơn. Cảm ơn đã trả lời.
Aseem Bansal
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.