Mã hóa Freak Làm theo 15 Tháng bảy 2018 · 28 phút đọc
Hơn 500 câu hỏi phỏng vấn về cấu trúc dữ liệu và thuật toán & vấn đề thực hành Mảng- Tìm cặp có tổng đã cho trong mảng
- Kiểm tra xem mảng con có tổng bằng 0 có tồn tại hay không
- In tất cả các mảng con có tổng bằng 0
- Sắp xếp mảng nhị phân trong thời gian tuyến tính
- Tìm một phần tử trùng lặp trong một mảng phạm vi giới hạn
- Tìm mảng con có độ dài lớn nhất có tổng đã cho
- Tìm mảng con có độ dài lớn nhất có số lượng 0 và 1 bằng nhau
- Tìm tích lớn nhất của hai số nguyên trong một mảng
- Sắp xếp một mảng chứa 0, 1 và 2 (Bài toán Quốc kỳ Hà Lan)
- Tại chỗ hợp nhất hai mảng được sắp xếp
- Hợp nhất hai mảng bằng cách thỏa mãn các ràng buộc đã cho
- Tìm chỉ số của 0 để thay thế để có dãy liên tục có độ dài lớn nhất
- Xáo trộn một mảng các phần tử đã cho (xáo trộn Fisher–Yates)
- Sắp xếp lại mảng với các phần tử cao và thấp xen kẽ
- Tìm chỉ số cân bằng của một mảng
- Tìm mảng con lớn nhất được tạo bởi các số nguyên liên tiếp
- Tìm phần tử đa số (Thuật toán bỏ phiếu đa số Boyer-Moore)
- Di chuyển tất cả các số 0 có trong mảng đến cuối
- Thay thế từng phần tử của mảng bằng tích của mọi phần tử khác mà không sử dụng toán tử /
- Tìm Bitonic Subarray dài nhất trong một mảng
- Dãy con tăng dài nhất
- Tìm sự khác biệt lớn nhất giữa hai phần tử trong mảng bằng cách thỏa mãn các ràng buộc đã cho
- Bài toán phân đoạn tổng tối đa (Thuật toán Kadane)
- In mảng con liên tục với tổng tối đa
- Phân đoạn tròn tổng tối đa
- Tìm tất cả các tổ hợp riêng biệt có độ dài cho trước — I
- Tìm tất cả các kết hợp riêng biệt có độ dài nhất định với phép lặp lại
- Tìm dãy số 1 liên tục lớn nhất được hình thành bằng cách thay tối đa k số 0 bằng số 1
- Tìm mảng con có tổng nhỏ nhất có kích thước k đã cho
- Tìm mảng con sản phẩm tối đa trong một mảng nhất định
- Tìm mảng con có tổng đã cho trong mảng các số nguyên đã cho
- Tìm độ dài của mảng con nhỏ nhất có tổng các phần tử lớn hơn số đã cho
- Tìm số lớn nhất có thể từ tập hợp các số đã cho
- Tìm cửa sổ nhỏ nhất trong sắp xếp mảng sẽ làm cho toàn bộ mảng được sắp xếp
- Tìm đường dẫn tổng tối đa liên quan đến các phần tử của các mảng đã cho
- Lợi nhuận tối đa kiếm được bằng cách mua và bán cổ phiếu nhiều lần
- Bẫy nước mưa trong tập hợp các thanh nhất định
- Tìm các nền tảng tối thiểu cần thiết trong nhà ga để tránh bất kỳ sự chậm trễ nào khi tàu đến
- Giải mã mảng được xây dựng từ một mảng khác
- Sắp xếp một mảng bằng một lần hoán đổi
- Tìm Bộ ba với tổng đã cho trong một mảng
- Độ dài của chuỗi liên tục dài nhất có cùng tổng trong các mảng nhị phân đã cho
- Đảo ngược mọi m phần tử liên tiếp của mảng con đã cho
- Bài toán tập con sản phẩm tối đa
- Tìm các cặp có hiệu k cho trước trong mảng
- Tìm các cặp có hiệu k cho trước trong mảng. Giải pháp không gian cố định
- bài toán 4 tổng. Bộ tứ với tổng đã cho
- In tất cả các bộ tứ với tổng đã cho. bài toán 4 tổng mở rộng
- Thuật toán chọn nhanh
- Sắp xếp lại mảng sao cho A[A[i]] được đặt thành i cho mọi phần tử A[i]
- In tất cả các Bộ ba tạo thành Cấp số cộng
- In tất cả các Bộ ba tạo thành Cấp tiến Hình học
- In tất cả các tổ hợp số từ 1 đến n có tổng n
- Thay thế từng phần tử của mảng bằng thứ hạng tương ứng của nó trong mảng
- In tất cả các Bộ ba trong một mảng có tổng nhỏ hơn hoặc bằng số đã cho
- Nhóm các phần tử của một mảng dựa trên lần xuất hiện đầu tiên của chúng
- Tìm chênh lệch nhỏ nhất giữa chỉ số của hai phần tử đã cho có trong mảng
- Tìm hiệu tuyệt đối lớn nhất giữa tổng hai mảng con không trùng nhau
- Tìm tất cả các cặp đối xứng trong một mảng các cặp
- Phân vùng một mảng thành hai mảng con có cùng tổng
- Tìm số phần tử riêng biệt trong mỗi mảng con có kích thước k
- Tìm hai số có tổng lớn nhất được lập bởi dãy các chữ số
- In tất cả các mảng con của một mảng có các phần tử riêng biệt
- Tìm một bộ ba có sản phẩm tối đa trong một mảng
- Tìm chỉ số tối thiểu của phần tử lặp lại trong một mảng
- Tạo đầu vào ngẫu nhiên từ một mảng theo xác suất nhất định
- Tìm cặp trong một mảng có tổng tuyệt đối nhỏ nhất
- Tìm chỉ số của phần tử xảy ra tối đa với xác suất bằng nhau
- Kiểm tra xem một mảng có được hình thành bởi các số nguyên liên tiếp không
- Tìm hai cặp không trùng lặp có cùng tổng trong một mảng
- Thêm các phần tử của hai mảng vào một mảng mới
- Tìm sản phẩm tối thiểu trong số tất cả các kết hợp của bộ ba trong một mảng
- Thay thế mọi phần tử của một mảng bằng phần tử lớn hơn nhỏ nhất ở bên phải của nó
- Tìm tất cả các phần tử xuất hiện lẻ trong một mảng có phạm vi phần tử giới hạn
- Đếm các giá trị tuyệt đối riêng biệt trong mảng đã sắp xếp
- In ra tất cả các tổ hợp số nguyên dương theo thứ tự tăng dần có tổng bằng một số cho trước
- Tìm tất cả các tổ hợp riêng biệt có độ dài cho trước — II
- Tìm các mảng con với tổng đã cho trong một mảng
- Tìm số lượng vượt trội cho từng phần tử của một mảng
- Tìm độ dài lớn nhất của dãy liên tục (Sử dụng cửa sổ trượt)
- Tìm dãy liên tục có độ dài lớn nhất
- Tìm chỉ mục chia một mảng thành hai mảng con không trống có tổng bằng nhau
- Tính tần suất của tất cả các phần tử có trong một mảng của phạm vi được chỉ định
- Sắp xếp lại mảng sao cho nó chứa các số dương và số âm ở các vị trí thay thế
- Tìm bộ ba đã sắp xếp trong mảng đã cho
- Xáo trộn một mảng theo thứ tự nhất định của các phần tử
- Đếm số mảng con tăng dần trong một mảng
- Tìm các bản sao trong phạm vi k đã cho trong một mảng
- Vấn đề chuỗi con xen kẽ dài nhất
- Tìm phạm vi tối thiểu với ít nhất một phần tử từ mỗi mảng đã cho
- Tìm dãy con dài nhất được tạo bởi các số nguyên liên tiếp
- Tìm tất cả các phần tử trong một mảng lớn hơn tất cả các phần tử ở bên phải của chúng
- Tìm số còn thiếu trong mảng mà không cần sử dụng thêm không gian
- Xác định chỉ số của một phần tử trong mảng đã cho thỏa mãn các ràng buộc đã cho
- Tìm các bước di chuyển tối thiểu cần thiết để chuyển đổi một mảng đã cho thành một mảng các số 0
- Xoay trái một mảng
- Xoay phải một mảng k lần
- Tìm lợi nhuận tối đa kiếm được từ nhiều nhất hai giao dịch chứng khoán
- Tìm Tần suất của từng phần tử trong một mảng được sắp xếp có chứa các phần trùng lặp
- Tìm phần tử Tối thiểu và Tối đa trong một mảng bằng phép so sánh tối thiểu
- Sự khác biệt giữa Subarray, Subsequence và Subset
- Tìm phần tử xuất hiện lẻ trong một mảng trong một lần truyền tải
- Tìm phần tử xuất hiện lẻ trong thời gian logarit
- Tìm hai phần tử xuất hiện lẻ trong một mảng mà không sử dụng thêm bất kỳ khoảng trắng nào
- Kiểm tra xem mảng đã cho có đại diện cho heap tối thiểu hay không
- Tìm phần tử nhỏ thứ K trong mảng
- Tìm phần tử lớn thứ K trong mảng
- Sắp xếp một K-Sorted Array
- Hợp nhất M danh sách được sắp xếp có độ dài thay đổi
- Tìm phạm vi nhỏ nhất với ít nhất một phần tử từ mỗi danh sách đã cho
- Gộp M danh sách đã sắp xếp, mỗi danh sách chứa N phần tử
- Tìm tổng lớn nhất của dãy con không có phần tử liền kề
- Tìm cách tính toán một mục tiêu từ các phần tử của mảng được chỉ định
- Sắp xếp các phần tử theo tần suất và Chỉ mục của chúng
- Sắp xếp một mảng dựa trên thứ tự được xác định bởi một mảng khác
- Inversion Count của một mảng
- Tách các số nguyên dương và âm trong thời gian tuyến tính
- Tìm số lần quay trong một mảng được sắp xếp theo vòng tròn
- Tìm kiếm một phần tử trong một mảng được sắp xếp theo vòng tròn
- Tìm lần xuất hiện đầu tiên hoặc cuối cùng của một số đã cho trong một mảng đã sắp xếp
- Đếm số lần xuất hiện của một số trong một mảng được sắp xếp có trùng lặp
- Tìm phần tử còn thiếu nhỏ nhất trong một mảng đã sắp xếp
- Tìm Tầng và Trần của một số trong một mảng đã sắp xếp
- Tìm kiếm trong một mảng gần được sắp xếp trong thời gian logarit
- Tìm số 1 trong một mảng nhị phân được sắp xếp
- Tìm thuật ngữ còn thiếu trong một chuỗi trong thời gian logarit
- Tìm số bị thiếu và các phần tử trùng lặp trong một mảng
- Tìm phần tử đỉnh trong mảng
- Tìm Tầng và Trần của một số trong mảng đã sắp xếp (Giải pháp đệ quy)
- In ra tất cả các tập con phân biệt của một tập đã cho
- Tìm hai phần tử trùng nhau trong một mảng giới hạn (dùng XOR)
- Sự kết hợp của các từ được hình thành bằng cách thay thế các số đã cho bằng các bảng chữ cái tương ứng
- 0–1 Vấn đề về chiếc ba lô
- Tổng tập hợp con Vấn đề
- Sự cố phân vùng
- Vấn đề 3 phân vùng
- Vấn đề mở rộng 3 phân vùng. In tất cả các phân vùng
- Vấn đề phân vùng K. In tất cả các phân vùng
- Vấn đề phân vùng tổng tối thiểu
- cắt que
- Bài toán dãy con xen kẽ dài nhất
- Vấn đề thay đổi tiền xu (nguồn cung cấp tiền không giới hạn)
- Vấn đề đổi tiền xu - Tìm tổng số cách để có được mệnh giá tiền xu
- Tìm lợi nhuận tối đa kiếm được từ hầu hết các giao dịch cổ phiếu K
quay lui- In tất cả các giải pháp có thể có cho Bài toán N Queens
- In tất cả các chuyến đi của Hiệp sĩ có thể có trong bàn cờ
- Tìm đường đi ngắn nhất trong mê cung
- Tìm tuyến đường dài nhất có thể trong ma trận
- Tìm đường dẫn từ nguồn đến đích trong một ma trận thỏa mãn các ràng buộc đã cho
- Tìm tổng số đường dẫn duy nhất trong mê cung từ nguồn đến đích
- In Tất cả Đường đi Hamilton có trong đồ thị
- In tất cả các cấu hình có thể tô màu k của biểu đồ (Tô màu đỉnh của biểu đồ)
- Tìm tất cả các hoán vị của một chuỗi đã cho
- Tất cả các tổ hợp của các phần tử thỏa mãn các ràng buộc đã cho
- Tìm tất cả các chuỗi nhị phân có thể được hình thành từ mẫu ký tự đại diện đã cho
- Vấn đề phân vùng K. In tất cả các phân vùng
- câu đố nam châm
- Tìm cách tính toán một mục tiêu từ các phần tử của mảng được chỉ định
- Tìm số tối thiểu có thể bằng cách thực hiện nhiều nhất K hoán đổi
- Xác định xem một mẫu có khớp với một chuỗi hay không
- Tạo danh sách các từ có thể từ ma trận ký tự
- Tìm đường đi giữa các đỉnh đã cho trong đồ thị có hướng
- Tìm tất cả các thứ tự cấu trúc liên kết có thể có của DAG
- In tất cả các tuyến đường ngắn nhất trong lưới hình chữ nhật
nhị phân- Bit Hacks — Phần 1 (Cơ bản)
- Bit Hacks — Phần 2 (Chơi với bit thứ k)
- Bit Hacks — Phần 3 (Chơi với bộ bit ngoài cùng bên phải của một số)
- Bit Hacks — Phần 4 (Chơi với các chữ cái trong bảng chữ cái tiếng Anh)
- Bit Hacks — Phần 5 (Tìm giá trị tuyệt đối của một số nguyên không phân nhánh)
- Bit Hacks - Phần 6 (Sự cố ngẫu nhiên)
- Thuật toán của Brian Kernighan để đếm các bit đã đặt trong một số nguyên
- Làm tròn đến lũy thừa cao nhất tiếp theo của 2
- Làm tròn lên lũy thừa trước đó của 2
- Tính chẵn lẻ của một số bằng bảng tra cứu
- Đếm các bit đã đặt bằng bảng tra cứu
- Tìm giá trị nhỏ nhất hoặc lớn nhất của hai số nguyên mà không sử dụng phân nhánh
- Nhân số nguyên 16 bit bằng hệ số nhân 8 bit
- Hoán đổi các bit riêng lẻ tại vị trí đã cho trong một số nguyên
- Kiểm tra xem số đã cho có phải là lũy thừa của 4 hay không
- Kiểm tra xem số đã cho có phải là lũy thừa của 8 hay không
- Đảo ngược bit của một số nguyên nhất định
- Tìm phần tử xuất hiện lẻ trong một mảng trong một lần truyền tải
- Tìm hai phần tử xuất hiện lẻ trong một mảng mà không sử dụng thêm bất kỳ khoảng trắng nào
- Hoán đổi hai bit tại vị trí đã cho trong một số nguyên
- Thêm biểu diễn nhị phân của hai số nguyên
- Hoán đổi các bit liền kề của một số
- In ra tất cả các tập con phân biệt của một tập đã cho
- Thực hiện Phép chia hai số không dùng toán tử chia (/)
- Kiểm tra xem các bit liền kề có được đặt ở dạng biểu diễn nhị phân của một số đã cho không
- Có điều kiện phủ định một giá trị mà không cần phân nhánh
- Tìm hai phần tử trùng nhau trong một mảng giới hạn (dùng XOR)
- Đảo ngược bit của một số nguyên bằng cách sử dụng bảng tra cứu
- Tìm số bị thiếu và các phần tử trùng lặp trong một mảng
- Dịch chuyển tròn trên biểu diễn nhị phân của một số nguyên theo k vị trí
- Tính phép chia mô đun mà không có phép chia và toán tử modulo
- Giải tập hợp các bài toán đã cho mà không sử dụng toán tử nhân hoặc chia
- Tìm XOR của hai số mà không cần sử dụng toán tử XOR
- Tạo tập hợp sức mạnh của một tập hợp nhất định
- Mã hóa Huffman
- Tìm số còn thiếu trong mảng mà không cần sử dụng thêm không gian
- Tìm phần tử xuất hiện lẻ trong thời gian logarit
- Tìm tất cả các phần tử xuất hiện lẻ trong một mảng có phạm vi phần tử giới hạn
Cây nhị phân- Kiểm tra xem hai cây nhị phân đã cho có giống nhau hay không
- Tính chiều cao của cây nhị phân
- Xóa cây nhị phân đã cho
- Inorder Tree Traversal (Triển khai lặp đi lặp lại và đệ quy)
- Preorder Tree Traversal (Triển khai lặp đi lặp lại và đệ quy)
- Postorder Tree Traversal (Triển khai lặp đi lặp lại và đệ quy)
- Trình tự cấp độ của cây nhị phân
- Trình duyệt xoắn ốc của cây nhị phân
- Trình duyệt thứ tự cấp đảo ngược của cây nhị phân
- In tất cả các nút của một cây nhị phân nhất định theo thứ tự cụ thể
- In chế độ xem bên trái của cây nhị phân
- In xem dưới cùng của cây nhị phân
- In Top View của cây nhị phân
- Tìm nút tiếp theo cùng cấp với nút đã cho trong cây nhị phân
- Kiểm tra xem cây nhị phân đã cho có phải là cây nhị phân hoàn chỉnh hay không
- Chuyển đổi tại chỗ cây nhị phân đã cho thành cây tổng của nó
- Xác định xem hai nút đã cho có phải là anh em họ của nhau không
- In anh em họ của nút đã cho trong cây nhị phân
- Kiểm tra xem cây nhị phân đã cho có phải là cây tổng hay không
- Sự kết hợp của các từ được hình thành bằng cách thay thế các số đã cho bằng các bảng chữ cái tương ứng
- Xác định xem cây nhị phân đã cho có phải là cây con của cây nhị phân khác hay không
- Tìm đường kính của cây nhị phân
- Kiểm tra xem Cây nhị phân đã cho có cấu trúc đối xứng hay không
- Chuyển đổi cây nhị phân sang gương của nó
- Kiểm tra xem cây nhị phân có thể được chuyển đổi sang cây khác hay không bằng cách thực hiện bất kỳ. hoán đổi con trái và con phải
- Tìm Tổ tiên chung thấp nhất (LCA) của hai nút trong cây nhị phân
- In tất cả các đường dẫn từ nút gốc đến nút lá trong cây nhị phân
- Tìm tổ tiên của nút đã cho trong Cây nhị phân
- Tìm khoảng cách giữa các cặp nút đã cho trong cây nhị phân
- Tìm tổng theo chiều dọc trong một cây nhị phân nhất định
- Thực hiện duyệt dọc cây nhị phân — I
- Thực hiện duyệt dọc cây nhị phân — II
- In các nút góc của mọi cấp độ trong cây nhị phân
- Tìm tổng đường chéo của cây nhị phân đã cho
- In đường chéo của cây nhị phân
- Chuyển đổi tại chỗ Cây nhị phân thành Danh sách liên kết đôi
- Các nút chìm chứa số 0 ở dưới cùng của cây nhị phân
- Chuyển đổi cây nhị phân đã cho thành cây đầy đủ bằng cách loại bỏ một nửa nút
- Cắt bớt cây nhị phân đã cho để loại bỏ các nút nằm trên đường có tổng nhỏ hơn K
- Tìm tổng đường dẫn từ gốc đến lá tối đa trong cây nhị phân
- Kiểm tra xem cây nhị phân đã cho có cân bằng chiều cao hay không
- Tìm chiều rộng tối đa của cây nhị phân đã cho
- Chuyển đổi cây nhị phân bình thường thành cây nhị phân anh chị em bên trái
- Xác định xem Cây nhị phân đã cho có phải là BST hay không
- Chuyển đổi Cây nhị phân thành BST bằng cách duy trì cấu trúc ban đầu của nó
- Đảo ngược cây nhị phân
- In Chế độ xem bên phải của cây nhị phân
- In tất cả các đường dẫn từ nút lá đến nút gốc trong cây nhị phân đã cho
- Lặp lại in đường dẫn lá đến gốc cho mọi nút lá trong cây nhị phân
- Xây dựng cây nhị phân từ mảng Parent đã cho
- Tìm tất cả các nút ở khoảng cách nhất định từ các nút lá trong cây nhị phân
- Đếm tất cả các cây con có cùng giá trị của các nút trong cây nhị phân
- Tìm sự khác biệt tối đa giữa một nút và hậu duệ của nó trong cây nhị phân
- Xây dựng cây nhị phân từ ma trận tổ tiên
- Tính chiều cao của cây nhị phân với các nút lá tạo thành danh sách liên kết kép hình tròn
- Tìm đường dẫn tổng tối đa giữa hai lá trong cây nhị phân
- Sửa cây nhị phân chỉ một lần hoán đổi để trở thành BST
- Xây dựng cây nhị phân từ inorder và preorder traversal
- Xây dựng cây nhị phân từ các giao dịch theo thứ tự và theo thứ tự
- Xây dựng cây nhị phân từ dãy thứ tự và thứ tự cấp
- Xây dựng cây nhị phân đầy đủ từ chuỗi đặt trước với thông tin nút lá
- Xây dựng cây nhị phân đầy đủ từ trình tự sắp xếp trước và sắp xếp sau
- Đặt con trỏ tiếp theo theo thứ tự kế tiếp của tất cả các nút trong cây nhị phân
- In hiệu quả tất cả các nút giữa hai mức nhất định trong cây nhị phân
- Tìm duyệt theo thứ tự trước của cây nhị phân từ trình tự thứ tự và thứ tự sau của nó
- Tìm sự khác biệt giữa tổng của tất cả các nút có ở mức chẵn và lẻ trong cây nhị phân
- Tìm kích thước của BST lớn nhất trong Cây nhị phân
- Các nút liên kết hiện diện trong mỗi cấp của cây nhị phân dưới dạng danh sách liên kết
- Xây dựng một cây Descartes từ Traversal theo thứ tự
- Triển khai cấu trúc dữ liệu Treap (Chèn, Tìm kiếm và Xóa)
- Sao chép cây nhị phân với con trỏ ngẫu nhiên
- Cây nhị phân có ren. Tổng quan và Thực hiện
- Đảo ngược các mức thay thế của một cây nhị phân hoàn hảo
- Chuyển đổi cây nhị phân thành danh sách liên kết kép theo thứ tự xoắn ốc
- Kiểm tra xem cây nhị phân có phải là một đống nhỏ hay không
- Xác định xem cây nhị phân có thỏa mãn tính chất cân bằng chiều cao của cây đỏ đen không
- Tìm kiếm theo chiều sâu (DFS) so với tìm kiếm theo chiều rộng (BFS)
BST- Chèn vào BST
- Tìm kiếm khóa đã cho trong BST
- Xóa khỏi BST
- Xây dựng BST cân bằng từ các khóa đã cho
- Xác định xem Cây nhị phân đã cho có phải là BST hay không
- Kiểm tra xem các khóa đã cho có đại diện cho các BST giống nhau hay không mà không cần xây dựng BST
- Tìm tiền thân thứ tự cho khóa đã cho trong BST
- Tìm Tổ tiên chung thấp nhất (LCA) của hai nút trong Cây tìm kiếm nhị phân
- Tìm phần tử nhỏ thứ K và lớn nhất thứ K trong BST
- Tầng và Trần trong Cây tìm kiếm nhị phân
- Tìm chi phí tối ưu để xây dựng cây tìm kiếm nhị phân
- Chuyển đổi Cây nhị phân thành BST bằng cách duy trì cấu trúc ban đầu của nó
- Xóa các nút khỏi BST có khóa nằm ngoài phạm vi hợp lệ
- Tìm một cặp có tổng đã cho trong BST
- Tìm người kế vị thứ tự cho khóa đã cho trong BST
- Thay thế mọi phần tử của một mảng bằng phần tử lớn hơn nhỏ nhất ở bên phải của nó
- Sửa cây nhị phân chỉ một lần hoán đổi để trở thành BST
- Cập nhật mọi khóa trong BST để chứa tổng của tất cả các khóa lớn hơn
- Kiểm tra xem một chuỗi đã cho có đại diện cho quá trình duyệt đơn đặt hàng trước của BST không
- Xây dựng cây tìm kiếm nhị phân từ chuỗi đặt hàng sau
- Xây dựng cây tìm kiếm nhị phân từ chuỗi đặt hàng trước
- Tìm bộ ba có tổng đã cho trong BST
- Đếm các cây con trong BST có các nút nằm trong một phạm vi nhất định
- Hợp nhất hai BST thành danh sách liên kết đôi theo thứ tự được sắp xếp
- Dựng BST cân bằng chiều cao từ BST không cân đối
- Tìm kích thước của BST lớn nhất trong Cây nhị phân
- Chuyển đổi cây tìm kiếm nhị phân thành một đống tối thiểu
- Xây dựng BST Cân bằng Chiều cao từ Danh sách Liên kết Đôi được Sắp xếp
Chia để trị- Thuật toán tìm kiếm nhị phân
- Tìm số lần quay trong một mảng được sắp xếp theo vòng tròn
- Tìm kiếm một phần tử trong một mảng được sắp xếp theo vòng tròn
- Tìm lần xuất hiện đầu tiên hoặc cuối cùng của một số đã cho trong một mảng đã sắp xếp
- Đếm số lần xuất hiện của một số trong một mảng được sắp xếp có trùng lặp
- Tìm phần tử còn thiếu nhỏ nhất trong một mảng đã sắp xếp
- Tìm Tầng và Trần của một số trong một mảng đã sắp xếp
- Tìm kiếm trong một mảng gần được sắp xếp trong thời gian logarit
- Tìm số 1 trong một mảng nhị phân được sắp xếp
- Tìm phần tử đỉnh trong mảng
- Phân đoạn tổng tối đa sử dụng Chia & Chinh phục
- Thực hiện hiệu quả chức năng quyền lực
- Tìm thuật ngữ còn thiếu trong một chuỗi trong thời gian logarit
- Phép chia hai số bằng thuật toán tìm kiếm nhị phân
- Tìm Tầng và Trần của một số trong mảng đã sắp xếp (Giải pháp đệ quy)
- Tìm Tần suất của từng phần tử trong một mảng được sắp xếp có chứa các phần trùng lặp
- Tìm phần tử xuất hiện lẻ trong thời gian logarit
- Tìm kiếm Ternary vs Tìm kiếm nhị phân
- tìm kiếm theo cấp số nhân
- Tìm kiếm nhị phân không giới hạn
- tìm kiếm nội suy
- Hợp nhất thuật toán sắp xếp
- thuật toán sắp xếp nhanh
Lập trình năng động- Giới thiệu về lập trình động
- Bài toán dãy con chung dài nhất
- Dãy con chung dài nhất. Phiên bản tối ưu hóa không gian
- Dãy con chung dài nhất của dãy K
- Dãy con chung dài nhất. Tìm tất cả LCS
- Bài toán chuỗi con chung dài nhất
- Bài toán dãy con Palindromic dài nhất
- Bài toán dãy con lặp lại dài nhất
- Triển khai tiện ích khác biệt
- Bài toán siêu dãy chung ngắn nhất
- Siêu dãy chung ngắn nhất. Tìm tất cả SCS
- Bài toán siêu dãy chung ngắn nhất sử dụng LCS
- Bài toán dãy con tăng dài nhất
- Bài toán dãy con giảm dài nhất
- Dãy con Bitonic dài nhất
- Tăng dãy con với tổng tối đa
- Bài toán Khoảng cách Levenshtein (Chỉnh sửa Khoảng cách)
- Tìm kích thước của ma trận con vuông lớn nhất của 1 trong ma trận nhị phân đã cho
- Phép nhân chuỗi ma trận
- Tìm chi phí tối thiểu để đến ô cuối cùng của ma trận từ ô đầu tiên của nó
- Tìm dãy dài nhất được tạo bởi các số liền kề trong ma trận
- Đếm số đường dẫn trong ma trận với chi phí đã cho để đến ô đích
- 0–1 Vấn đề về chiếc ba lô
- Giá trị lớn nhất của biểu thức
- Sự cố phân vùng
- Tổng tập hợp con Vấn đề
- Vấn đề 3 phân vùng
- Vấn đề phân vùng tổng tối thiểu
- cắt que
- Cắt thanh sản phẩm tối đa
- Vấn đề thay đổi tiền xu (nguồn cung cấp tiền không giới hạn)
- Vấn đề đổi tiền xu - Tìm tổng số cách để có được mệnh giá tiền xu
- Tổng số nghiệm khả thi cho phương trình tuyến tính k biến
- Bài toán dãy con xen kẽ dài nhất
- Đếm số lần một mẫu xuất hiện trong chuỗi đã cho dưới dạng một chuỗi con
- Thu thập điểm tối đa trong ma trận bằng cách thỏa mãn các ràng buộc đã cho
- Tìm tất cả các chuỗi nhị phân có N chữ số không có số 1 liên tiếp
- Đếm tổng số kết hợp có thể có của các số có chữ số N trong bàn phím di động
- Lời Break vấn đề
- Xác định chi phí điều chỉnh tối thiểu của một mảng
- Kiểm tra xem một chuỗi có phải là K-Palindrome hay không
- Tìm tổng số cách để đạt được tổng đã cho với n lần ném xúc xắc có k mặt
- Kết hợp mẫu ký tự đại diện
- Tìm số cách để lấp đầy ma trận N x 4 bằng các ô 1 x 4
- Các cách để đến góc dưới cùng bên phải của ma trận với chính xác k lượt được phép
- Vấn đề lập lịch khoảng thời gian có trọng số
- Vấn đề xếp chồng hộp
- Tìm tổng số cách đi đến cầu thang thứ n với tối đa m bước
- Tìm tổng số cách đi đến cầu thang thứ n từ dưới lên
- Vấn đề lựa chọn hoạt động
- Tìm số lần xóa tối thiểu cần thiết để chuyển đổi một chuỗi thành palindrome
- Tính chi phí tối thiểu để đến thành phố đích từ thành phố nguồn
- Vấn đề trò chơi chậu vàng
- Tìm các vết cắt tối thiểu cần thiết cho phân vùng palindromic của một chuỗi
- Lập lịch khoảng thời gian có trọng số bằng thuật toán LIS
- Tìm bước nhảy tối thiểu cần thiết để đến đích
- Tìm xác suất để một người còn sống sau khi đi N bước trên đảo
- Tìm tổng lớn nhất của dãy con không có phần tử liền kề
- Chuỗi rắn có độ dài tối đa
- Tính kích thước của cộng lớn nhất của 1 trong ma trận nhị phân
- Chuỗi con tăng dài nhất sử dụng LCS
- Tìm lợi nhuận tối đa kiếm được từ hầu hết các giao dịch cổ phiếu K
- Đếm tất cả các đường dẫn trong ma trận từ ô đầu tiên đến ô cuối cùng
- Kiểm tra xem một chuỗi có khớp với mẫu ký tự đại diện đã cho không
- Kiểm tra xem chuỗi đã cho có xen kẽ của hai chuỗi đã cho khác không
- Tìm tất cả nhân viên báo cáo trực tiếp hoặc gián tiếp cho người quản lý
- Tìm chi phí tối ưu để xây dựng cây tìm kiếm nhị phân
- Tìm tổng lớn nhất của dãy con không có phần tử liền kề
- Bài toán phân đoạn tổng tối đa (Thuật toán Kadane)
- Vấn đề chuỗi con xen kẽ dài nhất
- Thu thập giá trị tối đa của tiền xu trong một ma trận
- Tìm độ dài đường đi dài nhất trong ma trận với các ký tự liên tiếp
- Tìm cách tính toán một mục tiêu từ các phần tử của mảng được chỉ định
- Tính tổng của tất cả các phần tử trong một ma trận con trong thời gian không đổi
- Tìm tổng lớn nhất K x K ma trận con trong một ma trận M x N cho trước
- Tìm ma trận con tổng lớn nhất có trong một ma trận đã cho
- Đường dẫn ngắn nhất từ một nguồn — Thuật toán Bellman Ford
- Đường đi ngắn nhất cho tất cả các cặp — Thuật toán Floyd Warshall
đồ thị- Thuật ngữ và biểu diễn đồ thị
- Triển khai đồ thị — C, C++, C++ (STL), Java (Bộ sưu tập), Python
- Thuật toán tìm kiếm theo chiều rộng đầu tiên (BFS)
- Thuật toán tìm kiếm theo chiều sâu (DFS)
- Tìm kiếm theo chiều sâu (DFS) so với tìm kiếm theo chiều rộng (BFS)
- Thời gian đến và đi của các đỉnh trong DFS
- Các loại cạnh liên quan đến DFS và mối quan hệ giữa chúng
- Đồ thị hai bên
- Xác định xem một biểu đồ đã cho có phải là Biểu đồ lưỡng cực hay không bằng DFS
- Bài toán con rắn và cái thang
- Sắp xếp tô pô trong một DAG
- Thuật toán sắp xếp tô pô của Kahn
- Transitive Closed của một đồ thị
- Kiểm tra xem đồ thị vô hướng có chu trình hay không
- Tổng số đường dẫn trong sơ đồ đã cho từ nguồn đã cho đến đích có chính xác m cạnh
- Xác định xem một đồ thị vô hướng có phải là Cây (Đồ thị được kết nối theo chu kỳ)
- Kết nối 2 cạnh trong biểu đồ
- Kết nối 2 đỉnh trong biểu đồ
- Kiểm tra xem sơ đồ đã cho có phải là DAG (Directed Acyclic Graph) hay không
- Cấu trúc dữ liệu Disjoint-Set (Thuật toán tìm liên kết)
- Vấn đề Hiệp sĩ cờ vua - Tìm đường đi ngắn nhất từ nguồn đến đích
- Kiểm tra xem Biểu đồ đã cho có được kết nối mạnh hay không
- Kiểm tra xem Biểu đồ đã cho có được Kết nối Mạnh mẽ hay không bằng cách sử dụng một DFS Traversal
- Thuật toán tìm liên hợp để phát hiện chu trình trong đồ thị vô hướng
- Thuật toán Kruskal để tìm Cây bao trùm tối thiểu
- Đường đi ngắn nhất từ một nguồn — Thuật toán Dijkstra
- Đường dẫn ngắn nhất từ một nguồn — Thuật toán Bellman Ford
- Đường đi ngắn nhất cho tất cả các cặp — Thuật toán Floyd Warshall
- Tìm chi phí của con đường ngắn nhất trong DAG bằng cách sử dụng một lượt Bellman-Ford
- Đường dẫn chi phí thấp nhất trong Sơ đồ có trọng số bằng BFS
- Tìm đường dẫn chi phí tối đa trong biểu đồ từ nguồn đã cho đến đích
- Xác định chu kỳ trọng lượng âm trong biểu đồ
- Đường dẫn chi phí thấp nhất trong sơ đồ đã cho từ nguồn đã cho đến đích có chính xác m cạnh
- Tìm đường đi giữa các đỉnh đã cho trong đồ thị có hướng
- Tìm tất cả các thứ tự cấu trúc liên kết có thể có của DAG
- Tìm thứ tự chính xác của bảng chữ cái trong một từ điển có nguồn gốc cổ xưa nhất định
- Tìm đường đi dài nhất trong Đồ thị tuần hoàn có hướng (DAG)
- Xây dựng đồ thị có hướng từ đồ thị vô hướng thỏa mãn các ràng buộc đã cho
- In tất cả các cấu hình có thể tô màu k của biểu đồ (Tô màu đỉnh của biểu đồ)
- In Tất cả Đường đi Hamilton có trong đồ thị
- Bài toán tô màu đồ thị
Tham- Vấn đề lựa chọn hoạt động
- Mã hóa Huffman
- Vấn đề sắp xếp công việc với thời hạn
- Bài toán tô màu đồ thị
- Thuật toán Kruskal để tìm Cây bao trùm tối thiểu
- Đường đi ngắn nhất từ một nguồn — Thuật toán Dijkstra
- Bài toán siêu xâu ngắn nhất
đống- Giới thiệu về hàng đợi ưu tiên sử dụng đống nhị phân
- Triển khai Heap tối thiểu và tối đa — C++, Java
- Thuật toán sắp xếp đống
- Kiểm tra xem mảng đã cho có đại diện cho heap tối thiểu hay không
- Chuyển đổi Heap tối đa thành Heap tối thiểu trong thời gian tuyến tính
- Tìm phần tử lớn thứ K trong mảng
- Sắp xếp một K-Sorted Array
- Hợp nhất M danh sách được sắp xếp có độ dài thay đổi
- Gộp K danh sách liên kết đã sắp xếp
- Tìm phần tử nhỏ thứ K trong mảng
- Tìm phạm vi nhỏ nhất với ít nhất một phần tử từ mỗi danh sách đã cho
- Gộp M danh sách đã sắp xếp, mỗi danh sách chứa N phần tử
- Tìm k ký tự không lặp lại đầu tiên trong một chuỗi trong một lần duyệt
- Tìm k từ xuất hiện tối đa đầu tiên trong tập hợp các chuỗi đã cho
- Triển khai cấu trúc dữ liệu Treap (Chèn, Tìm kiếm và Xóa)
- Chuyển đổi cây tìm kiếm nhị phân thành một đống tối thiểu
- Kiểm tra xem cây nhị phân có phải là một đống nhỏ hay không
- Mã hóa Huffman
- Thuật toán sắp xếp hợp nhất bên ngoài
Danh sách liên kết- Giới thiệu về danh sách liên kết
- Triển khai danh sách được liên kết — C, C++, Java, Python
- Danh sách liên kết. Chèn ở đuôi
- Danh sách liên kết tĩnh
- Sao chép danh sách liên kết đã cho
- Xóa danh sách liên kết
- Thao tác pop trong danh sách liên kết
- Chèn nút đã cho vào đúng vị trí đã sắp xếp trong danh sách liên kết đã sắp xếp đã cho
- Sắp xếp lại danh sách liên kết theo thứ tự tăng dần (Sắp xếp danh sách liên kết)
- Tách các nút của danh sách liên kết đã cho thành hai nửa trước và sau
- Loại bỏ các bản sao khỏi danh sách liên kết được sắp xếp
- Di chuyển nút phía trước của danh sách đã cho lên trước danh sách khác
- Di chuyển các nút chẵn đến cuối danh sách theo thứ tự ngược lại
- Tách danh sách được liên kết đã cho thành hai danh sách trong đó mỗi danh sách chứa các phần tử xen kẽ từ nó
- Xây dựng một danh sách được liên kết bằng cách hợp nhất các nút thay thế của hai danh sách đã cho
- Hợp nhất thuật toán sắp xếp cho danh sách liên kết đơn
- Gộp hai danh sách liên kết đã sắp xếp thành một
- Gộp K danh sách liên kết đã sắp xếp
- Giao của hai danh sách liên kết đã sắp xếp
- Danh sách liên kết ngược (Giải pháp lặp)
- Danh sách liên kết ngược (Giải pháp đệ quy)
- Đảo ngược mọi nhóm k nút trong danh sách liên kết đã cho
- Tìm nút thứ K từ cuối danh sách liên kết
- Hợp nhất các nút thay thế của hai danh sách được liên kết thành danh sách đầu tiên
- Hợp nhất hai danh sách được liên kết được sắp xếp từ cuối của chúng
- Xóa mọi N nút trong danh sách liên kết sau khi bỏ qua M nút
- Sắp xếp lại danh sách được liên kết theo cách cụ thể trong thời gian tuyến tính
- Kiểm tra xem danh sách được liên kết có phải là palindrome hay không
- Di chuyển nút cuối cùng lên phía trước trong Danh sách được liên kết nhất định
- Sắp xếp lại danh sách liên kết theo cách cụ thể
- Phát hiện chu trình trong danh sách liên kết (Thuật toán phát hiện chu trình của Floyd)
- Sắp xếp danh sách liên kết chứa 0, 1 và 2
- Triển khai Stack bằng Danh sách liên kết
- Triển khai Hàng đợi bằng Danh sách Liên kết
- Xóa trùng lặp khỏi danh sách liên kết
- Sắp xếp lại danh sách được liên kết để nó có các giá trị cao, thấp xen kẽ
- Sắp xếp lại danh sách được liên kết bằng cách tách các nút lẻ khỏi nút chẵn
- Tính chiều cao của cây nhị phân với các nút lá tạo thành danh sách liên kết kép hình tròn
- Danh sách liên kết XOR. Tổng quan và Thực hiện
- Chuyển danh sách liên kết nhiều cấp thành danh sách liên kết đơn
- Kiểm tra đệ quy xem danh sách các ký tự được liên kết có phải là màu nhạt hay không
- Hợp nhất hai BST thành danh sách liên kết đôi theo thứ tự được sắp xếp
- Xóa các nút dư thừa khỏi đường dẫn được tạo bởi danh sách được liên kết
- Thêm một số có một chữ số vào danh sách được liên kết đại diện cho một số
- Đảo ngược mọi nhóm k nút thay thế trong danh sách được liên kết
- Xác định xem một danh sách liên kết đã cho có phải là một bảng màu hay không
- Sắp xếp danh sách liên kết kép bằng Merge Sort
- Đảo ngược danh sách liên kết kép
- Trao đổi cặp các nút liền kề của một danh sách được liên kết
- Làm phẳng danh sách liên kết
- Kiểm tra xem Danh sách Chuỗi được Liên kết có phải là Palindromic không
- Làm phẳng một danh sách liên kết đa cấp
- Dựng BST cân bằng chiều cao từ BST không cân đối
- Hoán đổi nút thứ K từ đầu với nút thứ K từ cuối trong Danh sách được liên kết
- Thêm hai danh sách được liên kết mà không sử dụng thêm bất kỳ khoảng trống nào
- Sao chép danh sách được liên kết với con trỏ ngẫu nhiên
- Cập nhật con trỏ ngẫu nhiên cho mỗi nút danh sách được liên kết để trỏ đến nút tối đa
- Các nút liên kết hiện diện trong mỗi cấp của cây nhị phân dưới dạng danh sách liên kết
- Chuyển đổi cây bậc ba thành danh sách liên kết kép
- In các nút của cây nhị phân đã cho theo thứ tự dọc
- Chuyển đổi cây nhị phân thành danh sách liên kết kép theo thứ tự xoắn ốc
- Xây dựng BST Cân bằng Chiều cao từ Danh sách Liên kết Đôi được Sắp xếp
- Hợp nhất tại chỗ hai danh sách được liên kết đã sắp xếp mà không sửa đổi liên kết của danh sách đầu tiên
- Đảo ngược phần được chỉ định của Danh sách được liên kết
ma trận- In ma trận theo thứ tự xoắn ốc
- Tạo ma trận xoắn ốc từ mảng đã cho
- Dịch chuyển tất cả các phần tử ma trận bằng 1 theo thứ tự xoắn ốc
- Tìm đường đi ngắn nhất từ nguồn đến đích trong một ma trận thỏa mãn các ràng buộc đã cho
- Đổi tất cả các phần tử của hàng i và cột j trong ma trận thành 0 nếu ô (i, j) có giá trị 0
- In các phần tử đường chéo của ma trận có hệ số góc dương
- Tìm tất cả các đường dẫn từ ô đầu tiên đến ô cuối cùng của ma trận
- Thay thế tất cả các lần xuất hiện của 0 không được bao quanh bởi 1 trong ma trận nhị phân
- Xoay ma trận tại chỗ 90 độ theo chiều kim đồng hồ
- Đếm các phần tử âm có trong ma trận được sắp xếp theo thời gian tuyến tính
- Báo cáo tất cả các lần xuất hiện của một phần tử theo hàng và ma trận được sắp xếp theo cột theo thời gian tuyến tính
- Tính tổng của tất cả các phần tử trong một ma trận con trong thời gian không đổi
- Tìm tổng lớn nhất K x K ma trận con trong một ma trận M x N cho trước
- Tìm ma trận con tổng lớn nhất có trong một ma trận đã cho
- Đếm số đảo
- thuật toán lấp lũ
- Tìm tuyến đường an toàn ngắn nhất trong một lĩnh vực có cảm biến
- Tìm tất cả các lần xuất hiện của chuỗi đã cho trong ma trận ký tự
- Con đường ngắn nhất trong mê cung. Thuật toán Lee
- Kiểm tra xem ma trận đã cho có phải là ma trận Toeplitz hay không
- Tại chỗ xoay ma trận 180 độ
- Điền vào ma trận nhị phân với các hình chữ nhật xen kẽ của 0 và 1
- Tìm tất cả các phần tử chung có mặt trong mỗi hàng của ma trận đã cho
- Xây dựng cây nhị phân từ ma trận tổ tiên
- Tìm các phần tử phổ biến có trong tất cả các hàng của ma trận
- Tìm chỉ mục của hàng chứa số 1 tối đa trong ma trận nhị phân
- Tìm ma trận con vuông lớn nhất bao quanh bởi tất cả các số 1
- Tìm các đường chuyền tối thiểu cần thiết để chuyển đổi tất cả các giá trị âm trong ma trận
- In ma trận vuông xoắn ốc mà không cần sử dụng thêm khoảng trống
- In tất cả các tuyến đường ngắn nhất trong lưới hình chữ nhật
- Tìm độ dài đường đi dài nhất trong ma trận với các ký tự liên tiếp
- Thu thập giá trị tối đa của tiền xu trong một ma trận
- Hoạt cảnh trẻ. Chèn, Tìm kiếm, Giải nén-Min, Xóa, Thay thế
- Sắp xếp một mảng bằng Young tableau
- Tìm đường dẫn từ nguồn đến đích trong một ma trận thỏa mãn các ràng buộc đã cho
- Tạo danh sách các từ có thể từ ma trận ký tự
- Tìm xác suất để một người còn sống sau khi đi N bước trên đảo
- Thu thập điểm tối đa trong ma trận bằng cách thỏa mãn các ràng buộc đã cho
- Đếm số đường dẫn trong ma trận với chi phí đã cho để đến ô đích
- Tìm dãy dài nhất được tạo bởi các số liền kề trong ma trận
- Tìm chi phí tối thiểu để đến ô cuối cùng của ma trận từ ô đầu tiên của nó
- Các cách để đến góc dưới cùng bên phải của ma trận với chính xác k lượt được phép
- Phép nhân chuỗi ma trận
- Tìm kích thước của ma trận con vuông lớn nhất của 1 trong ma trận nhị phân đã cho
- Vấn đề Hiệp sĩ cờ vua - Tìm đường đi ngắn nhất từ nguồn đến đích
- Tìm các hàng trùng lặp trong ma trận nhị phân
- In tất cả các giải pháp có thể có cho Bài toán N Queens
- In tất cả các chuyến đi của Hiệp sĩ có thể có trong bàn cờ
- Tìm đường đi ngắn nhất trong mê cung
- Tìm tuyến đường dài nhất có thể trong ma trận
- Tìm tổng số đường dẫn duy nhất trong mê cung từ nguồn đến đích
- Tính kích thước của cộng lớn nhất của 1 trong ma trận nhị phân
- Tìm giá trị lớn nhất của M[c][d] — M[a][b] trên tất cả các lựa chọn chỉ mục
- Tìm khoảng cách ngắn nhất của mọi ô từ mìn trong Mê cung
- Tìm tuyến đường ngắn nhất trong một thiết bị để tạo chuỗi đã cho
- Tính chi phí tối thiểu để đến thành phố đích từ thành phố nguồn
- Đếm tất cả các đường dẫn trong ma trận từ ô đầu tiên đến ô cuối cùng
- Gộp M danh sách đã sắp xếp, mỗi danh sách chứa N phần tử
- Vấn đề nhân viên bán hàng du lịch sử dụng Branch và Bound
câu đố- Vấn đề về góc của đồng hồ - Tìm góc giữa kim giờ và kim phút
- Cộng hai số không dùng toán tử cộng
- Tạo tập hợp sức mạnh của một tập hợp nhất định
- Thực hiện chức năng lũy thừa mà không cần sử dụng toán tử nhân và chia
- In tất cả các số từ 1 đến N mà không sử dụng dấu chấm phẩy
- Hoán đổi hai số mà không sử dụng biến thứ ba
- Xác định điều kiện if để in đầu ra cụ thể
- Tìm tối đa & tối thiểu của bộ ba mà không cần sử dụng câu lệnh điều kiện và toán tử bậc ba
- Tìm các số được biểu diễn dưới dạng tổng của hai lập phương cho hai cặp khác nhau
- In “Xin chào thế giới” với hàm main() trống
- Bài toán Tháp Hà Nội
- In tất cả các số từ 1 đến N mà không cần sử dụng bất kỳ vòng lặp nào
- In dấu chấm phẩy mà không cần sử dụng dấu chấm phẩy ở bất kỳ đâu trong chương trình
- Nhân hai số mà không sử dụng toán tử nhân hoặc vòng lặp
- Tìm bình phương của một số không dùng toán tử nhân chia
- Tìm xem một số là chẵn hay lẻ mà không cần sử dụng bất kỳ câu lệnh điều kiện nào
- Đặt cả hai phần tử của một mảng nhị phân thành 0 trong một dòng
- Tìm số nhỏ nhất mà không cần sử dụng câu lệnh điều kiện hoặc toán tử bậc ba
- Thực hiện Phép chia hai số không dùng toán tử chia (/)
- Tạo 0 và 1 với xác suất 75% và 25%
- Tạo các số ngẫu nhiên mong muốn với xác suất bằng nhau
- Trả về 0, 1 và 2 với Xác suất bằng nhau bằng hàm đã chỉ định
- Tạo kết quả hợp lý từ xu thiên vị
- Tạo các số từ 1 đến 7 với xác suất bằng nhau bằng chức năng được chỉ định
- Triển khai toán tử ternary mà không sử dụng biểu thức điều kiện
- Xác định xem hai số nguyên có bằng nhau không sử dụng toán tử so sánh và số học
- Trả về 0 và 1 với Xác suất bằng nhau bằng hàm đã chỉ định
- Tạo đầu vào ngẫu nhiên từ một mảng theo xác suất nhất định
- Tính phép chia mô đun mà không có phép chia và toán tử modulo
Xếp hàng- Triển khai hàng đợi bằng Mảng/Danh sách — C, C++, Java, Python
- Triển khai hàng đợi bằng Danh sách liên kết
- Triển khai Stack bằng cấu trúc dữ liệu hàng đợi
- Triển khai hàng đợi bằng cấu trúc dữ liệu ngăn xếp
- In hiệu quả tất cả các nút giữa hai mức nhất định trong cây nhị phân
- Vấn đề Hiệp sĩ cờ vua - Tìm đường đi ngắn nhất từ nguồn đến đích
- Con đường ngắn nhất trong mê cung. Thuật toán Lee
- Tìm tuyến đường an toàn ngắn nhất trong một lĩnh vực có cảm biến
- thuật toán lấp lũ
- Đếm số đảo
- Tìm đường đi ngắn nhất từ nguồn đến đích trong một ma trận thỏa mãn các ràng buộc đã cho
- Tạo các số nhị phân từ 1 đến N
- Tính chiều cao của cây nhị phân
- Xóa cây nhị phân đã cho
- Trình tự cấp độ của cây nhị phân
- Trình duyệt xoắn ốc của cây nhị phân
- Trình duyệt thứ tự cấp đảo ngược của cây nhị phân
- In tất cả các nút của một cây nhị phân nhất định theo thứ tự cụ thể
- In chế độ xem bên trái của cây nhị phân
- Tìm nút tiếp theo cùng cấp với nút đã cho trong cây nhị phân
- Kiểm tra xem cây nhị phân đã cho có phải là cây nhị phân hoàn chỉnh hay không
- In đường chéo của cây nhị phân
- In các nút góc của mọi cấp độ trong cây nhị phân
- Đảo ngược cây nhị phân
- Tìm các đường chuyền tối thiểu cần thiết để chuyển đổi tất cả các giá trị âm trong ma trận
- Chuyển đổi cây nhị phân thành danh sách liên kết kép theo thứ tự xoắn ốc
- Kiểm tra xem cây nhị phân có phải là một đống nhỏ hay không
- Đảo ngược các mức thay thế của một cây nhị phân hoàn hảo
- Chuyển đổi cây tìm kiếm nhị phân thành một đống tối thiểu
- Bài toán con rắn và cái thang
- Tìm khoảng cách ngắn nhất của mọi ô từ mìn trong Mê cung
- Chuyển danh sách liên kết nhiều cấp thành danh sách liên kết đơn
- Thuật toán tìm kiếm theo chiều rộng đầu tiên (BFS)
- Kiểm tra xem đồ thị vô hướng có chu trình hay không
- Tìm đường dẫn chi phí tối đa trong biểu đồ từ nguồn đã cho đến đích
- Tổng số đường dẫn trong sơ đồ đã cho từ nguồn đã cho đến đích có chính xác m cạnh
- Đường dẫn chi phí thấp nhất trong sơ đồ đã cho từ nguồn đã cho đến đích có chính xác m cạnh
Sắp xếp- Thuật toán sắp xếp chèn
- Thuật toán sắp xếp lựa chọn
- Thuật toán sắp xếp bong bóng
- Hợp nhất thuật toán sắp xếp
- Thuật toán sắp xếp hợp nhất lặp đi lặp lại (Sắp xếp hợp nhất từ dưới lên)
- thuật toán sắp xếp nhanh
- Thực hiện lặp lại QuickSort
- Kết hợp QuickSort
- QuickSort sử dụng thuật toán cờ quốc gia Hà Lan
- QuickSort sử dụng sơ đồ phân vùng của Hoare
- Thuật toán sắp xếp đống
- Thuật toán giới thiệu
- Thuật toán sắp xếp hợp nhất bên ngoài
- thuật toán sắp xếp đếm
- Inversion Count của một mảng
- Sắp xếp một mảng bằng Young tableau
- Hợp nhất thuật toán sắp xếp cho danh sách liên kết đơn
- Các sự cố được giải quyết bằng cách sử dụng logic phân vùng của QuickSort
- Sắp xếp danh sách liên kết kép bằng Merge Sort
- Sắp xếp các phần tử theo tần suất và Chỉ mục của chúng
- Sắp xếp một mảng dựa trên thứ tự được xác định bởi một mảng khác
- Sắp xếp hiệu quả một mảng có nhiều giá trị trùng lặp
- Tìm số lớn nhất có thể từ tập hợp các số đã cho
- Tìm số lượng vượt trội cho từng phần tử của một mảng
- Tách các số nguyên dương và âm bằng cách sử dụng Sắp xếp hợp nhất
- Nhóm các đảo chữ cái lại với nhau từ danh sách các từ đã cho
Cây rơm- Triển khai ngăn xếp bằng Mảng/Danh sách — C, C++, Java, Python
- Triển khai ngăn xếp bằng Danh sách được liên kết
- Kiểm tra xem biểu thức đã cho có phải là biểu thức cân bằng hay không
- Tìm dấu ngoặc đơn trùng lặp trong một biểu thức
- Đánh giá biểu thức hậu tố đã cho
- Giải mã dãy số đã cho để tạo số nhỏ nhất không lặp lại các chữ số
- Thiết kế ngăn xếp trả về phần tử tối thiểu trong thời gian không đổi
- Thiết kế ngăn xếp trả về phần tử tối thiểu mà không cần sử dụng ngăn xếp phụ trợ
- Hợp nhất các khoảng chồng chéo
- Chuỗi đảo ngược mà không sử dụng đệ quy
- Triển khai Stack bằng cấu trúc dữ liệu hàng đợi
- Triển khai hàng đợi bằng cấu trúc dữ liệu ngăn xếp
- Triển khai hai ngăn xếp trong một mảng
- Giải pháp đệ quy để sắp xếp ngăn xếp
- Tìm độ dài của dấu ngoặc đơn cân bằng dài nhất trong một chuỗi
- Đảo ngược chuỗi bằng cấu trúc dữ liệu ngăn xếp
- Tìm tất cả các phần tử trong một mảng lớn hơn tất cả các phần tử ở bên phải của chúng
- Duyệt cây theo thứ tự
- Đặt hàng trước Tree Travers
- Postorder Tree Traversal
- Tìm duyệt theo thứ tự trước của cây nhị phân từ trình tự thứ tự và thứ tự sau của nó
- Tìm tổ tiên của nút đã cho trong Cây nhị phân
- Kiểm tra xem hai cây nhị phân đã cho có giống nhau hay không
- Trình duyệt thứ tự cấp đảo ngược của cây nhị phân
- Đảo ngược văn bản đã cho mà không đảo ngược các từ riêng lẻ
- Tìm tất cả các chuỗi nhị phân có thể được hình thành từ mẫu ký tự đại diện đã cho
- Thực hiện lặp lại QuickSort
- Thuật toán tìm kiếm theo chiều sâu (DFS)
- Đảo ngược cây nhị phân
- In đường dẫn lá tới gốc cho mọi nút lá trong cây nhị phân
- Dãy con tăng dài nhất
- Đảo ngược các mức thay thế của một cây nhị phân hoàn hảo
Chuỗi- Kiểm tra xem chuỗi đã cho có phải là một bảng màu xoay hay không
- Chuỗi con Palindromic dài nhất (Giải pháp tối ưu hóa không gian không phải DP)
- Kiểm tra xem chuỗi con lặp lại có xuất hiện trong chuỗi hay không
- Kiểm tra xem các chuỗi có thể được bắt nguồn từ nhau hay không bằng cách xoay tròn chúng
- Kiểm tra xem tập hợp các bước di chuyển đã cho có phải là hình tròn hay không
- Chuyển đổi số đã cho thành tên cột excel tương ứng
- Xác định xem hai chuỗi có đảo chữ cái hay không
- Tìm tất cả các chuỗi nhị phân có thể được hình thành từ mẫu ký tự đại diện đã cho
- Tìm tất cả các xen kẽ của các chuỗi đã cho
- chuỗi đẳng cấu
- Tìm tất cả các chuỗi con palindromic có thể có trong một chuỗi
- Tìm tất cả các tổ hợp từ có thể được hình thành từ bàn phím di động
- Tìm tất cả các kết hợp có thể bằng cách thay thế các chữ số đã cho bằng các ký tự của danh sách tương ứng
- Tìm tất cả các từ trong danh sách đã cho theo cùng thứ tự các ký tự như mẫu đã cho
- Nhóm các đảo chữ cái lại với nhau từ danh sách các từ đã cho
- Tìm các hoạt động tối thiểu cần thiết để chuyển đổi một chuỗi thành một chuỗi khác
- Xác định xem một chuỗi có thể được chuyển đổi thành một chuỗi khác chỉ bằng một lần chỉnh sửa hay không
- Tìm độ dài của dấu ngoặc đơn cân bằng dài nhất trong một chuỗi
- Tại chỗ, xóa tất cả các lần xuất hiện của 'AB' và 'C' khỏi chuỗi
- Xâu con tổng palindrome có độ dài chẵn dài nhất
- In chuỗi ở dạng zig-zag trong k hàng
- Đảo ngược văn bản đã cho mà không đảo ngược các từ riêng lẻ
- Thuật toán nén dữ liệu mã hóa độ dài chạy (RLE)
- Tìm xâu con dài nhất của xâu đã cho chứa k kí tự phân biệt
- Tìm tất cả các hoán vị palindromic của một chuỗi
- Tìm tất cả các chuỗi con của một chuỗi là hoán vị của một chuỗi đã cho
- Tìm chuỗi con dài nhất của chuỗi đã cho chứa tất cả các ký tự riêng biệt
- Phương pháp lặp để tìm hoán vị của chuỗi
- Tạo tất cả các hoán vị của một chuỗi trong Java
- Tìm tất cả các hoán vị tiếp theo theo từ điển của một chuỗi được sắp xếp theo thứ tự tăng dần
- Tìm xoay chuỗi tối thiểu theo từ điển
- Tìm tất cả các chuỗi có độ dài nhất định có chứa dấu ngoặc đơn cân đối
- Tìm tất cả các kết hợp của các chuỗi con không chồng chéo của một chuỗi
- Xác định xem một chuỗi đã cho có phải là palindrome hay không
- Tìm số phép nghịch đảo ít nhất cần thiết để biểu thức đã cho cân bằng
- Xây dựng bảng màu dài nhất bằng cách xáo trộn hoặc xóa các ký tự khỏi chuỗi
- In tất cả các tổ hợp cụm từ được hình thành bằng cách chọn các từ từ mỗi danh sách đã cho
- Chia một chuỗi thành tất cả các kết hợp có thể có của các chuỗi con không trùng nhau
- Xóa tất cả khoảng trắng thừa khỏi chuỗi
- Xóa các ký tự trùng lặp liền kề khỏi một chuỗi
- Tìm ký tự không lặp lại đầu tiên trong một chuỗi bằng cách chỉ thực hiện một lần duyệt của nó
- Tìm tất cả các số tăng dần có N chữ số (Phương pháp tiếp cận từ dưới lên và từ trên xuống)
- Tìm tất cả các số nhị phân có N chữ số có nhiều hơn 1 số 0 cho bất kỳ tiền tố nào
- Tìm tất cả các số có N chữ số có tổng các chữ số cho trước
- Tìm tất cả các số nhị phân có N chữ số với k-bit được đặt trong đó k nằm trong khoảng từ 1 đến N
- Tìm tất cả các số nhị phân có N chữ số có tổng số bit bằng nhau trong hai nửa của nó
- Tìm tất cả các số có N chữ số có tổng các chữ số bằng nhau ở chỉ số chẵn và lẻ
- Tìm tất cả các hoán vị từ điển của một chuỗi
- Xếp hạng từ điển của một chuỗi
- Tìm tất cả các hoán vị trước đó theo từ điển của một chuỗi được sắp xếp theo thứ tự giảm dần
- Thay thế tất cả các lần xuất hiện không chồng chéo của mẫu
- Giới thiệu về Khớp mẫu
- Triển khai thuật toán KMP
- Chuỗi đảo ngược mà không sử dụng đệ quy
- Đảo ngược chuỗi đã cho bằng cách sử dụng Đệ quy
- Xác định xem các ký tự của Chuỗi có tuân theo một thứ tự đã chỉ định hay không
- Xóa tại chỗ tất cả các bản sao liền kề khỏi chuỗi đã cho
- Kiểm tra xem câu đã cho có đúng cú pháp hay không
- Tìm tất cả các hoán vị của một chuỗi đã cho
- Tìm k ký tự không lặp lại đầu tiên trong một chuỗi trong một lần duyệt
- Kiểm tra xem chuỗi đã cho có xen kẽ của hai chuỗi đã cho khác không
- Giải mã dãy số đã cho để tạo số nhỏ nhất không lặp lại các chữ số
- Sự kết hợp của các từ được hình thành bằng cách thay thế các số đã cho bằng các bảng chữ cái tương ứng
- Đếm số lần một mẫu xuất hiện trong chuỗi đã cho dưới dạng một chuỗi con
- Kiểm tra xem một chuỗi có khớp với mẫu ký tự đại diện đã cho không
- Tìm tất cả các từ phù hợp với một mẫu trong từ điển nhất định
- Bài toán Khoảng cách Levenshtein (Chỉnh sửa Khoảng cách)
- Bài toán dãy con chung dài nhất
- Bài toán dãy con lặp lại dài nhất
- Dãy con Palindromic dài nhất sử dụng Quy hoạch động
- Bài toán chuỗi con chung dài nhất
- Bài toán siêu dãy chung ngắn nhất
- Lời Break vấn đề
- Kết hợp mẫu ký tự đại diện
- Tìm các vết cắt tối thiểu cần thiết cho phân vùng palindromic của một chuỗi
- Kiểm tra xem một chuỗi có phải là K-Palindrome hay không
- Tìm tuyến đường ngắn nhất trong một thiết bị để tạo chuỗi đã cho
- Tìm số tối thiểu có thể bằng cách thực hiện nhiều nhất K hoán đổi
- Xác định xem một mẫu có khớp với một chuỗi hay không
- Tìm số lần xóa tối thiểu cần thiết để chuyển đổi một chuỗi thành palindrome
Trie- Trie Triển khai — C, C++, Java, Python
- Bộ nhớ Triển khai Trie hiệu quả. Chèn, Tìm kiếm và Xóa
- Tiền tố chung dài nhất trong tập hợp các chuỗi đã cho (sử dụng Trie)
- Sắp xếp từ điển của bộ khóa đã cho
- Tìm từ xuất hiện tối đa trong tập hợp các chuỗi đã cho
- Tìm k từ xuất hiện tối đa đầu tiên trong tập hợp các chuỗi đã cho
- Tìm các hàng trùng lặp trong ma trận nhị phân
- Lời Break vấn đề. Sử dụng Trie
- Tạo danh sách các từ có thể từ ma trận ký tự
- Tìm tất cả các từ phù hợp với một mẫu trong từ điển nhất định
Tôi có thể thực hành cấu trúc dữ liệu và thuật toán trong Python ở đâu?
6 Khóa học tốt nhất để học cấu trúc dữ liệu và thuật toán với Python năm 2022 . Python cho cấu trúc dữ liệu, thuật toán và phỏng vấn. . Thuật toán và cấu trúc dữ liệu trong Python [Khóa học tốt nhất của Udemy]. LeetCode trong Python. 50 câu hỏi phỏng vấn viết mã thuật toán. . Cấu trúc dữ liệu cho các cuộc phỏng vấn viết mã trong Python [Giáo dục]
Python có tốt cho cấu trúc dữ liệu và thuật toán không?
Cấu trúc dữ liệu là nguyên tắc cơ bản của bất kỳ ngôn ngữ lập trình nào mà chương trình được xây dựng xung quanh đó. Python giúp tìm hiểu kiến thức cơ bản của các cấu trúc dữ liệu này theo cách đơn giản hơn so với các ngôn ngữ lập trình khác .
Tôi có thể thực hành cấu trúc dữ liệu và giải thuật ở đâu?
Ngăn xếp và hàng đợi . Tài nguyên. chuyên viên máy tính. org - Cấu trúc dữ liệu ngăn xếp. chuyên viên máy tính. org - Giới thiệu và triển khai mảng. hướng dẫn. com - Giải thuật cấu trúc dữ liệu. cs. cmu. edu - Ngăn xếp. . vấn đề thực hành. spoj. com - JNEXT. spoj. com - STPAR. spoj. com - ONP. đầu bếp viết mã. com - MÁY TÍNH
Tôi có thể học DSA trong 3 tháng không?
Tùy thuộc vào cách học của từng cá nhân. Thông thường, phải mất 2-3 tháng để học những kiến thức cơ bản và sau đó là 6 tháng thực hành nghiêm túc các câu hỏi thường xuyên để nắm vững cấu trúc dữ liệu và thuật toán. |