Thiết kế và phân tích cheat sheet thuật toán
đồ thị của. V. đỉnh và. E. các cạnh Đồ thị của. V. đỉnh và. E. Các cạnh Mảng n phần tử đã sắp xếp Mảng Độ phức tạp thời gian Trung bình O(log(n)) O(n) tệ nhất O(. E. +. V. ) Ô(. E. +. V. ) O(log(n)) O(n) Độ phức tạp không gian Tồi tệ nhất O(. V. ) Ô(. V. ) O(1) O(1) Vẽ đồ thị với. V. đỉnh và. E. cạnh Ô((. V. +. E. ) nhật ký. V. ) Ô((. V. +. E. ) nhật ký. V. ) Ô(. V. ) Đường đi ngắn nhất của Dijkstra, sử dụng mảng chưa sắp xếp làm hàng đợi ưu tiên Vẽ đồ thị với. V. đỉnh và. E. cạnh Ô(. V. ^2) Ô(. V. ^2) Ô(. V. ) Con đường ngắn nhất của Bellman-Ford Vẽ đồ thị với. V. đỉnh và. E. cạnh Ô(. V. E. ) Ô(. V. E. ) Tổng hợp bởi Ref Ô(. V. ). JITENDRA KUMAR PATEL. . http. //bigocheatsheet. com/ Tìm kiếm theo chiều sâu (DFS) Tìm kiếm theo chiều rộng (BFS) Tìm kiếm nhị phân Tuyến tính (Brute Force) Đường đi ngắn nhất theo Dijkstra, sử dụng Min-heap làm hàng đợi ưu tiên Cấu trúc dữ liệu thuật toán sắp xếp Quicksort Mergesort Heapsort Sắp xếp bong bóng Chèn Sắp xếp Chọn Sắp xếp Nhóm Sắp xếp Cơ số Sắp xếp Dữ liệu Thời gian Độ phức tạp Cấu trúc Mảng tốt nhất Mảng O(n log(n)) Mảng O(n log(n)) Mảng O(n log(n)) Mảng O(n) Mảng O(n) Mảng O(n^2) Mảng Trường hợp xấu nhất Độ phức tạp không gian phụ Trung bình O(n log(n)) O(n log(n)) O(n log(n)) O(n^2) O(n^2) O(n^2) O( Tồi tệ nhất O(n^2) O(n log(n)) O(n log(n)) O(n^2) O(n^2) O(n^2) O(n^2) O(nk Tồi tệ nhất O(n) O(n) O(1) O(1) O(1) O(1) O(nk) O(n+k) Cấu trúc dữ liệu Cấu trúc dữ liệu Mảng cơ bản Mảng động Danh sách liên kết đơn Danh sách liên kết kép Danh sách bỏ qua Bảng băm Cây tìm kiếm nhị phân Cây Cartresian Cây B-Tree Cây đỏ-đen Cây Splay Cây AVL Độ phức tạp thời gian Tìm kiếm lập chỉ mục trung bình O(1) O(n) O(1) O(n) O(n) O(n) O(n) O(n) O(log(n)) O(log(n) Chèn O(n) O(1) O(1) O(log(n)) O(1) O(log(n)) O(log(n)) O(log(n)) O(log(n) Xóa O(n) O(1) O(1) O(log(n)) O(1) O(log(n)) O(log(n)) O(log(n)) O(log(n) Lập chỉ mục tệ nhất O(1) O(1) O(n) O(n) O(n) O(n) O(log(n)) O(log(n)) O(log(n)) Độ phức tạp không gian Tìm kiếm tồi tệ nhất O(n) O(n) O(n) O(n) O(n) O(n) O(n) O(n) O(log(n)) O(log(n)) Phân tích thuật toán là một phần quan trọng của lý thuyết độ phức tạp tính toán, cung cấp ước tính lý thuyết cho các tài nguyên cần thiết của thuật toán để giải quyết một vấn đề tính toán cụ thể. Phân tích thuật toán là việc xác định lượng tài nguyên thời gian và không gian cần thiết để thực hiện nó Tại sao Phân tích thuật toán lại quan trọng?
Các loại phân tích thuật toán
Khái niệm cơ bản về phân tích thuật toán
Ký hiệu tiệm cận
Một số chủ đề nâng cao
Bằng chứng phức tạp
Nếu bạn thích GeeksforGeeks và muốn đóng góp, bạn cũng có thể viết một bài báo và gửi bài viết của mình tới donate@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác Vui lòng viết bình luận nếu bạn thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề thảo luận ở trên |