Delphi - Các thuật toán làm sẵn - Stevens R

Delphi - Các thuật toán làm sẵn - Steven R. - 2004.

Lập trình luôn là một công việc khá khó khăn. Cuốn sách này sẽ giúp bạn dễ dàng vượt qua những khó khăn phát sinh với sự trợ giúp của thư viện các thuật toán mạnh mẽ, được triển khai đầy đủ trong mã nguồn Delphi. Bạn sẽ học cách chọn phương pháp phù hợp nhất cho giải pháp nhiệm vụ cụ thể, và làm thế nào để đạt được hiệu suất tối đaứng dụng của bạn. Các trường hợp điển hình và xấu nhất của việc triển khai thuật toán được xem xét, điều này sẽ cho phép bạn nhận ra kịp thời những khó khăn có thể xảy ra và nếu cần, viết lại hoặc thay thế một phần chương trình. Các yếu tố quan trọng nhất của thuật toán lưu trữ và xử lý dữ liệu (danh sách, ngăn xếp, hàng đợi, cây, sắp xếp, tìm kiếm, băm, v.v.) được mô tả chi tiết. Họ không chỉ được trao giải pháp truyền thống, mà còn cả các phương pháp dựa trên những tiến bộ mới nhất trong lập trình hướng đối tượng.
Cuốn sách dành cho những người mới bắt đầu lập trình Delphi, nhưng nhờ cấu trúc tài liệu rõ ràng và thư viện thuật toán làm sẵn phong phú nên nó cũng sẽ được các chuyên gia quan tâm.

Giới thiệu.
Chương 1. Các khái niệm cơ bản
Thuật toán là gì?
Phân tích tốc độ thực thi, thuật toán
Ký ức hay thời gian.
Ước tính theo thứ tự độ lớn
Định nghĩa độ phức tạp.
Độ phức tạp thuật toán đệ quy
Trường hợp trung bình và xấu nhất.
Hàm đánh giá độ phức tạp chung.
Logarit
Tốc độ thuật toán trong điều kiện thực tế
Truy cập tập tin trao đổi.
Bản tóm tắt.
Chương 2. Danh sách
Các khái niệm cơ bản về danh sách.
Danh sách đơn giản.
Thay đổi kích thước mảng.
Danh sách kích thước thay đổi
Lớp SimpleList.
Danh sách không có thứ tự.
Danh sách liên quan.
Thêm các yếu tố.
Loại bỏ các phần tử.
Chương 3. Ngăn xếp và hàng đợi
Ngăn xếp.
Ngăn xếp trên danh sách liên kết.
Hàng đợi
Hàng đợi theo chu kỳ.
Hàng đợi dựa trên danh sách liên kết.
Hàng đợi ưu tiên
Hàng đợi đa luồng.
Bản tóm tắt.
Chương 4. Mảng
Mảng tam giác
Yếu tố đường chéo
Mảng không đều
Biểu diễn tuyến tính bằng con trỏ.
Danh sách liên kết không đều.
Mảng Delphi động.
Mảng thưa thớt.
Lập chỉ mục mảng
Mảng rất thưa thớt.
Bản tóm tắt.
Chương 5. đệ quy
đệ quy là gì
Tính toán đệ quy giai thừa Phân tích độ phức tạp
Tính toán đệ quy
ước chung lớn nhất
Phân tích độ phức tạp.
Tính toán đệ quy các số Fibonacci
Phân tích độ phức tạp.
Xây dựng đệ quy đường cong Hilbert
Phân tích độ phức tạp.
Xây dựng đệ quy của đường cong Sierpinski.
Phân tích độ phức tạp
Nhược điểm của đệ quy.
Đệ quy vô hạn
Mất trí nhớ
Sử dụng đệ quy không hợp lý.
Khi nào nên sử dụng đệ quy.
Loại bỏ đệ quy đuôi
Tính toán không đệ quy các số Fibonacci.
Loại bỏ đệ quy trong trường hợp chung.
Tạo đường cong Hilbert không đệ quy.
Xây dựng không đệ quy của đường cong Sierpinski Tóm tắt.
Chương 6. Cây
Các định nghĩa
Biểu diễn cây.
Các nút đầy đủ
Danh sách các nút con
Biểu diễn bằng cách đánh số các kết nối.
Toàn cây
Đi qua cây.
Cây đặt hàng
Thêm các yếu tố.
Loại bỏ các phần tử.
Duyệt cây có thứ tự
Cây có liên kết
Đặc điểm của tác phẩm.
Cây Q.
Thay đổi giá trị MAXQTREENODES
Cây bát phân.
Bản tóm tắt.
Chương 7. Cây cân bằng
Cân bằng.
Cây AVL
Thêm các nút vào cây AVL.
Loại bỏ các nút khỏi cây AVL.
B-cây.
Hiệu suất cây B.
Xóa các phần tử khỏi cây B
Thêm các phần tử vào cây B
Các loại cây B.
Cải thiện cây B.
Sự cố truy cập đĩa
Cơ sở dữ liệu cây B+
Bản tóm tắt.
Chương 8. Cây quyết định
Tìm kiếm trong cây trò chơi
Tìm kiếm tối thiểu
Tối ưu hóa tìm kiếm trong cây quyết định
Tìm kiếm giải pháp phi tiêu chuẩn
Các nhánh và biên giới.
Tự tìm tòi.
Nhiệm vụ phức tạp
Vấn đề khả thi.
Vấn đề phân vùng
Bài toán tìm đường đi Hamilton.
Vấn đề nhân viên bán hàng du lịch
Vấn đề trạm cứu hỏa.
một mô tả ngắn gọn về nhiệm vụ phức tạp
Bản tóm tắt
Chương 9 Sắp xếp
Nguyên tắc chung.
Các bảng chỉ mục.
Hợp nhất và nén khóa.
Chương trình ví dụ
Sắp xếp theo lựa chọn
Trộn
Sắp xếp chèn
Chèn vào danh sách liên kết
Sắp xếp bong bóng
Sắp xếp nhanh chóng
Hợp nhất sắp xếp.
Sắp xếp kim tự tháp.
Kim tự tháp.
Hàng đợi ưu tiên.
Thuật toán Heapsort
Sắp xếp bằng cách đếm.
Sắp xếp khối
Sắp xếp khối bằng danh sách liên kết
Bản tóm tắt
Chương 10. Tìm kiếm
Chương trình ví dụ
Hoàn thành tìm kiếm
Lặp lại các danh sách đã được sắp xếp.
Lặp qua danh sách liên kết
Tìm kiếm nhị phân.
Tìm kiếm nội suy.
Dữ liệu chuỗi.
Theo dõi tìm kiếm
Theo dõi và tìm kiếm nhị phân
Tìm kiếm theo dõi nội suy.
Bản tóm tắt.
Chương 11. Băm
Ràng buộc.
Ưu điểm và nhược điểm của liên kết
Khối.
Lưu trữ bảng băm trên đĩa.
Các khối liên kết.
Loại bỏ các phần tử.
Ưu điểm và nhược điểm của việc sử dụng khối địa chỉ mở
Kiểm tra tuyến tính.
Kiểm tra bậc hai
Kiểm tra giả ngẫu nhiên
Loại bỏ các phần tử.
Bản tóm tắt.
Chương 12. Thuật toán mạng
Các định nghĩa
Lượt xem mạng
Quản lý nút và liên kết
Bỏ qua mạng
Khung cây nhỏ nhất,
Con đường ngắn nhất
Vị trí của dấu hiệu.
Sửa dấu
Các tùy chọn để tìm đường đi ngắn nhất.
Ứng dụng thuật toán tìm đường đi ngắn nhất.
Lưu lượng cực đại
Lĩnh vực ứng dụng.
Bản tóm tắt
Chương 13. Các phương pháp hướng đối tượng.
Ưu điểm của OOP.
Đóng gói.
Đa hình
Tái sử dụng và kế thừa
Mô hình OOP.
Kiểm soát đối tượng
Đối tượng điều khiển
Trình lặp.
Lớp học thân thiện.
Giao diện
mặt tiền
Nhà máy.
Đối tượng duy nhất
Tuần tự hóa
Tóm tắt mô hình/Chế độ xem/Bộ điều khiển mô hình.
Phụ lục 1. Lưu trữ các ví dụ
Nội dung của kho lưu trữ với các ví dụ
Yêu cầu phần cứng
Chạy chương trình mẫu
Thông tin và hỗ trợ người dùng
Phụ lục 2. Danh sách các chương trình mẫu
chỉ mục chủ đề

Tải xuống miễn phí sách điện tử V. định dạng thuận tiện, xem và đọc:
Tải sách Delphi - Thuật toán làm sẵn - Stevens R. - fileskachat.com, tải nhanh và miễn phí.

Tải về djvu
Bạn có thể mua cuốn sách này dưới đây giá tốt nhất với mức giảm giá khi giao hàng trên khắp nước Nga.

Khi nghiên cứu khoa học máy tính, người ta chú ý nhiều đến việc nghiên cứu các thuật toán và loại của chúng. Nếu không biết thông tin cơ bản về chúng, bạn không thể viết chương trình hoặc phân tích hoạt động của nó. Việc nghiên cứu các thuật toán bắt đầu từ khóa học khoa học máy tính. Hôm nay chúng ta sẽ xem xét khái niệm về thuật toán, các thuộc tính của thuật toán, các loại.

Ý tưởng

Thuật toán là trình tự cụ thể hành động nhằm đạt được một kết quả cụ thể. Khi biên soạn một thuật toán, mỗi hành động của người thực hiện đều được quy định chi tiết, điều này sau đó sẽ dẫn anh ta đến việc giải quyết nhiệm vụ.

Khá thường xuyên, các thuật toán được sử dụng trong toán học để giải quyết một số vấn đề nhất định. Như vậy, nhiều người đã biết đến thuật toán giải phương trình bậc hai tìm phân thức.

Của cải

Trước khi xem xét chúng trong khoa học máy tính, cần làm rõ các đặc tính cơ bản của chúng.

Trong số các thuộc tính chính của thuật toán, cần làm nổi bật những điều sau:

  • Chủ nghĩa quyết định, tức là sự chắc chắn. Vấn đề là bất kỳ thuật toán nào cũng giả định thu được một kết quả nhất định dựa trên kết quả ban đầu.
  • Năng suất. Điều đó có nghĩa là với một số dữ liệu ban đầu, sau khi hoàn thành một số bước, sẽ đạt được một kết quả nhất định như mong đợi.
  • Nhân vật đại chúng. Một thuật toán được viết một lần có thể được sử dụng để giải quyết tất cả các vấn đề thuộc một loại nhất định.
  • Sự kín đáo. Nó ngụ ý rằng bất kỳ thuật toán nào cũng có thể được chia thành nhiều giai đoạn, mỗi giai đoạn có mục đích riêng.

Phương pháp ghi

Bất kể bạn đang xem loại thuật toán khoa học máy tính nào, đều có một số cách để viết chúng.

  1. Bằng lời nói.
  2. Công thức-bằng lời nói.
  3. Đồ họa.
  4. Ngôn ngữ thuật toán.

Thuật toán thường được mô tả dưới dạng sơ đồ sử dụng chỉ định đặc biệt, được sửa bởi GOST.

Những loại chính

Có ba phương án chính:

  1. Thuật toán tuyến tính.
  2. Thuật toán phân nhánh hoặc phân nhánh.
  3. Theo chu kỳ.

tuyến tính

Nó được coi là đơn giản nhất trong khoa học máy tính. Nó bao gồm một chuỗi hành động. Hãy để chúng tôi đưa ra ví dụ đơn giản nhất về thuật toán thuộc loại này. Hãy gọi nó là "Chuẩn bị đến trường."

1. Thức dậy khi đồng hồ báo thức reo.

2. Chúng tôi tắm rửa.

3. Đánh răng.

4. Làm bài tập.

5. Mặc quần áo vào.

6. Chúng tôi ăn.

7. Chúng ta xỏ giày vào và đến trường.

8. Kết thúc thuật toán.

Thuật toán phân nhánh

Khi xem xét các loại thuật toán trong khoa học máy tính, người ta không thể không nhớ đến cấu trúc phân nhánh. Loại này giả định trước sự tồn tại của một điều kiện mà theo đó, nếu được đáp ứng, các hành động sẽ được thực hiện theo một thứ tự và nếu không được thực hiện theo một thứ tự khác.

Ví dụ: lấy tình huống sau - một người đi bộ băng qua đường.

1. Chúng ta đến gần đèn giao thông.

2. Chúng ta nhìn tín hiệu đèn giao thông.

3. Nó phải có màu xanh (đây là điều kiện).

4. Nếu đủ điều kiện, chúng ta qua đường.

4.1 Nếu không, hãy đợi cho đến khi đèn xanh bật lên.

4.2 Chúng tôi băng qua đường.

5. Kết thúc thuật toán.

Thuật toán quay vòng

Khi nghiên cứu các loại thuật toán trong khoa học máy tính, bạn nên tập trung vào chi tiết Thuật toán này liên quan đến một phần tính toán hoặc hành động được thực hiện cho đến khi đáp ứng một điều kiện nhất định.

Hãy lấy một ví dụ đơn giản. Nếu dãy số từ 1 đến 100. Chúng ta cần tìm tất cả chúng, tức là những số chia hết cho một và chính nó. Hãy gọi thuật toán là "Số nguyên tố".

1. Lấy số 1.

2. Kiểm tra xem nó có nhỏ hơn 100 không.

3. Nếu có, hãy kiểm tra xem số này có phải là số nguyên tố hay không.

4. Nếu điều kiện được đáp ứng, hãy viết nó ra.

5. Lấy số 2.

6. Kiểm tra xem nó có nhỏ hơn 100 không.

7. Kiểm tra xem nó có đơn giản không.

…. Hãy lấy số 8.

Hãy kiểm tra xem nó có nhỏ hơn 100 không.

Kiểm tra xem số đó có phải là số nguyên tố hay không.

Không, hãy bỏ qua nó.

Hãy lấy số 9.

Bằng cách này, chúng ta duyệt qua tất cả các số tới 100.

Như bạn có thể thấy, bước 1 - 4 sẽ được lặp lại nhiều lần.

Trong số các thuật toán tuần hoàn, có những thuật toán có điều kiện trước, khi điều kiện được kiểm tra ở đầu chu trình hoặc có điều kiện sau, khi đang kiểm tra vào cuối chu kỳ.

Sự lựa chọn khác

Thuật toán cũng có thể được trộn lẫn. Vì vậy, nó có thể tuần hoàn và phân nhánh cùng một lúc. Trong trường hợp này, chúng được sử dụng điều kiện khác nhauở các giai đoạn khác nhau của thuật toán. Những cấu trúc phức tạp như vậy được áp dụng khi viết chương trình phức tạp và trò chơi.

Ký hiệu sơ đồ khối

Chúng tôi đã xem xét các loại thuật toán có trong khoa học máy tính. Nhưng chúng tôi đã không nói về những ký hiệu nào được sử dụng khi ghi chúng bằng đồ họa.

  1. Phần đầu và phần cuối của thuật toán được viết trong khung hình bầu dục.
  2. Mỗi lệnh được ghi lại trong một hình chữ nhật.
  3. Điều kiện được viết bằng một viên kim cương.
  4. Tất cả các phần của thuật toán được kết nối bằng mũi tên.

kết luận

Chúng ta đã thảo luận về chủ đề “Thuật toán, loại, thuộc tính”. Khoa học máy tính dành nhiều thời gian để nghiên cứu các thuật toán. Chúng được sử dụng khi viết các chương trình khác nhau giải quyết thế nào vấn đề toán học và để tạo trò chơi cũng như các loại ứng dụng khác nhau.


Ngôn ngữ lập trình. Các thuật toán làm sẵn- Cuốn sách nêu ra những khái niệm lập trình quan trọng có thể áp dụng thành công để giải quyết nhiều bài toán thực tế. Thuật toán đề xuất sử dụng phương pháp mạnh mẽ chẳng hạn như đệ quy, phân vùng, phân phối động trí nhớ và cấu trúc mạng dữ liệu sẽ giúp bạn tạo ra sự linh hoạt và ứng dụng phức tạp.
Các khái niệm quan trọng nhất của lý thuyết thuật toán và xử lý dữ liệu (danh sách, ngăn xếp, hàng đợi, cây, sắp xếp, tìm kiếm, băm, v.v.) sẽ được thảo luận chi tiết.
Cuốn sách chứa một số lượng lớn ví dụ mà bạn có thể sử dụng trong ứng dụng riêng không có thay đổi nào cả hoặc bằng cách sửa đổi chúng theo ý của bạn.
Được thiết kế chủ yếu cho người dùng có kinh nghiệm Visual Basic, nhưng nhờ khả năng tiếp cận bản trình bày và thư viện phong phú các thuật toán làm sẵn, nó cũng sẽ được các lập trình viên mới làm quen quan tâm.

Tên: Ngôn ngữ lập trình. Các thuật toán làm sẵn (+ ví dụ)
Steven R.
Nhà xuất bản: Báo chí DKM
Năm: 2000
Trang: 377
Định dạng: DJVU
Kích cỡ: 20,3 MB
ISBN: 5-94074-001-4
Chất lượng: Xuất sắc
Sê-ri hoặc số phát hành: Dành cho lập trình viên

Giới thiệu
Chương 1. Các khái niệm cơ bản
Thuật toán là gì
Phân tích tốc độ thực hiện thuật toán
Nguồn lực và thời gian
Ước tính theo thứ tự độ lớn
Tìm các phần có vấn đề của thuật toán
Độ phức tạp của thuật toán đệ quy
Trường hợp xấu nhất và trường hợp trung bình
Chức năng đánh giá thứ tự độ khó
Logarit
Tốc độ của thuật toán trong điều kiện thực tế
Truy cập tập tin trao đổi
Con trỏ giả, tham chiếu đối tượng và bộ sưu tập
Bản tóm tắt
Chương 2. Danh sách
Câu hỏi chính của chương
Danh sách đơn giản
Bộ sưu tập
Danh sách kích thước thay đổi
Lớp danh sách đơn giản
Danh sách không có thứ tự
Danh sách liên quan
Thêm phần tử
Xóa các mục
Phá hủy danh sách liên kết
Dấu hiệu tín hiệu
Đóng gói danh sách liên kết
Truy cập di động
Các loại danh sách liên kết
Danh sách liên kết vòng
Vấn đề tham chiếu vòng tròn
Danh sách liên kết đôi
Dòng
Các cấu trúc liên quan khác
Con trỏ giả
Bản tóm tắt
Chương 3- Ngăn xếp và hàng đợi
ngăn xếp
Nhiều ngăn xếp
Hàng đợi
Hàng đợi vòng
Hàng đợi dựa trên danh sách liên kết
Sử dụng Bộ sưu tập làm Hàng đợi
Hàng đợi ưu tiên
Hàng đợi đa luồng
Bản tóm tắt
Chương 4. Mảng
Mảng tam giác
Yếu tố đường chéo
Mảng không đều
Biểu diễn tuyến tính bằng con trỏ
Danh sách liên kết không đều
Mảng thưa thớt
Lập chỉ mục mảng
Mảng rất thưa thớt
Bản tóm tắt
Chương 5. Đệ quy
đệ quy là gì
Tính toán đệ quy giai thừa
Tính toán đệ quy ước chung lớn nhất
Phân tích thời gian thực hiện chương trình
Tính toán đệ quy các số Fibonacci
Phân tích thời gian thực hiện chương trình
Xây dựng đệ quy đường cong Hilbert
Phân tích thời gian thực hiện chương trình
Xây dựng đệ quy đường cong Sierpinski
Phân tích thời gian thực hiện chương trình
Nhược điểm của đệ quy
Đệ quy vô hạn
Mất trí nhớ
Sử dụng đệ quy không hợp lý
Khi nào nên sử dụng đệ quy
Đệ quy đuôi
Tính toán không đệ quy các số Fibonacci
Loại bỏ đệ quy nói chung
Xây dựng không đệ quy của đường cong Hilbert
Xây dựng đường cong Sierpinski không đệ quy
Bản tóm tắt
Chương 6. Cây cối
Thuật ngữ cơ bản
Chế độ xem cây
Các nút đầy đủ
Danh sách con cháu
Biểu diễn bằng cách đánh số các kết nối
Toàn cây
Duyệt cây
Cây đặt hàng
Thêm phần tử
Xóa các mục
Duyệt cây có thứ tự
Cây có liên kết
Đặc điểm công việc
cây Q
Thay đổi số phần tử trong một nút
Sử dụng con trỏ giả
Cây bát phân
Bản tóm tắt
Chương 7. Cây cân bằng
Cân bằng cây
Cây AVL
Thêm một nút
Xóa một nút
cây B
Hiệu suất cây B
Chèn phần tử
Xóa các mục
Các loại cây B
Tăng hiệu suất của cây B
Cân bằng
Các vấn đề liên quan đến việc truy cập vào đĩa
Cơ sở dữ liệu cây B+
Bản tóm tắt
Chương 8. Cây quyết định
Tìm kiếm trong cây trò chơi
Tìm kiếm tối thiểu
Tối ưu hóa tìm kiếm
Tìm kiếm giải pháp không chuẩn
Phương thức nhánh và ràng buộc
Heuristic
Nhiệm vụ phức tạp
Vấn đề thỏa mãn
Vấn đề phân vùng
Bài toán đường đi Hamilton
Vấn đề nhân viên bán hàng du lịch
Vấn đề trạm cứu hỏa
Mô tả ngắn gọn các vấn đề phức tạp
Bản tóm tắt
Chương 9. Sắp xếp
Nguyên tắc chung
Bảng chỉ mục
Hợp nhất và nén khóa
Chương trình ví dụ
Sắp xếp theo lựa chọn
Trộn
Sắp xếp chèn
Chèn vào danh sách liên kết
Sắp xếp bong bóng
Sắp xếp nhanh chóng
Hợp nhất sắp xếp
Sắp xếp đống
Kim tự tháp
Hàng đợi ưu tiên
Thuật toán Heapsort
Đếm sắp xếp
Sắp xếp khối
Sắp xếp khối bằng danh sách liên kết
Sắp xếp khối dựa trên mảng
Bản tóm tắt
Chương 10. Tìm kiếm
Chương trình ví dụ
Tìm kiếm theo phương pháp tìm kiếm toàn diện
Tìm kiếm trong danh sách có thứ tự
Tìm kiếm danh sách liên quan
Tìm kiếm nhị phân
Tìm kiếm nội suy
Dữ liệu chuỗi
Theo dõi tìm kiếm
Tìm kiếm theo dõi nội suy
Bản tóm tắt
Chương 11. Băm
Ràng buộc
Ưu điểm và nhược điểm của liên kết
khối
Lưu trữ bảng băm trên đĩa
Khối liên kết
Xóa các mục
Ưu điểm và nhược điểm của việc sử dụng khối
Địa chỉ mở
Kiểm tra tuyến tính
Kiểm tra bậc hai
Kiểm tra giả ngẫu nhiên
Xóa các mục
Bản tóm tắt
Chương 12. Thuật toán mạng
Thuật ngữ cơ bản
Lượt xem mạng
Các nút và liên kết hoạt động
Thu thập thông tin mạng
Khung cây nhỏ nhất
Tuyến đường ngắn nhất
Vị trí của dấu
Sửa dấu
Tùy chọn tìm đường đi ngắn nhất
Các ứng dụng sử dụng phương pháp tìm kiếm tuyến đường ngắn nhất
Lưu lượng cực đại
Lĩnh vực ứng dụng
Bản tóm tắt
Chương 13. Các phương pháp hướng đối tượng
Ưu điểm của OOP
Đóng gói
Đa hình
Kế thừa và tái sử dụng
Mô hình của OOP
Kiểm soát đối tượng
Đối tượng điều khiển
Trình vòng lặp
Lớp học thân thiện
Giao diện
mặt tiền
Tạo đối tượng
Đối tượng duy nhất
Tuần tự hóa
Mô hình/Chế độ xem/Bộ điều khiển mô hình
Bản tóm tắt
Phụ lục 1. Lưu trữ kèm ví dụ
Phụ lục 2. Danh sách các chương trình mẫu
Danh mục theo thứ tự chữ cái

Tải xuống Visual Basic. Các thuật toán làm sẵn (+ ví dụ)