Cấu trúc dữ liệu PHP GitHub

Thư viện trợ giúp cấu trúc dữ liệu PHP

liệt kê

  • StringEnum - chuỗi giá trị enum
  • IntEnum - giá trị int enum
  • BoolEnum - giá trị boolean enum
  • FloatEnum - chỉ các giá trị enum nổi
  • NumericEnum - giá trị enum số

đối tượng giá trị

  • pecl install ds
    
    0 - Đối tượng ID thực thể
  • pecl install ds
    
    1 - Đối tượng email
Cấu trúc dữ liệu PHP

Các mẫu có cấu trúc dữ liệu PHP, từ

  • SPL
  • đs

Làm thế nào để thực hiện các mẫu?

  1. Cài đặt Docker
  2. Kéo hình ảnh
    pecl install ds
    
    2, bằng cách thực hiện
    pecl install ds
    
    3
  3. Sao chép kho lưu trữ này và điều hướng đến thư mục nguồn
  4. Thực thi
    pecl install ds
    
    4, trong đó
    pecl install ds
    
    5 phải là một trong các thư mục có trên kho lưu trữ này

Ví dụ

make run COMMAND='spl/dll/index.php'

Một tiện ích mở rộng cung cấp các cấu trúc dữ liệu chuyên biệt như là các lựa chọn thay thế hiệu quả cho mảng PHP. Bạn có thể đọc về nó chi tiết hơn trong bài đăng trên blog này, trong đó nêu bật API, hiệu suất và các lợi ích khác của việc sử dụng tiện ích mở rộng

Tài liệu

Tài liệu có sẵn trên php. bọc lưới. Bạn cũng nên đưa polyfill vào dự án của mình để tích hợp IDE

Cài đặt

Cách dễ nhất để cài đặt tiện ích mở rộng là sử dụng PECL

pecl install ds

Nếu bạn đang sử dụng Windows, bạn có thể tải xuống bản đã biên dịch. dll trên PECL hoặc dưới bản phát hành

Kích hoạt tiện ích mở rộng

Bạn sẽ cần thêm

pecl install ds
6 vào php chính của mình. tập tin ini

Nếu bạn gặp lỗi "ký hiệu không xác định", hãy xem #2

# To see where .ini files are located
php -i | grep "\.ini"

Bạn cũng có thể tạm thời kích hoạt tiện ích mở rộng bằng dòng lệnh

php -d extension=ds.so

Ghi chú. Windows sẽ sử dụng php_ds. dll thay thế

thử nghiệm

Có một bộ kiểm tra PHPUnit có thể được cài đặt bằng Composer

composer install   # Install the test suite
composer test      # Run the tests
composer memtest   # Run the tests checking for memory leaks

khả năng tương thích

Bạn có thể bao gồm polyfill như một phần phụ thuộc trong dự án của mình. Điều này cho phép cơ sở mã của bạn vẫn hoạt động trong môi trường không cài đặt tiện ích mở rộng

Cấu trúc dữ liệu và Giải thuật luôn quan trọng đối với bất kỳ ngôn ngữ lập trình nào. PHP, là một trong những ngôn ngữ phổ biến nhất để phát triển web, cũng yêu cầu cấu trúc dữ liệu thuần túy và triển khai thuật toán

Trong dự án này, tôi đang cố gắng đề cập đến việc triển khai thuật toán và cấu trúc dữ liệu chính bằng PHP 7. Mọi phản hồi, lỗi hoặc đề xuất sẽ được hoan nghênh

Các chủ đề được đề cập
  1. Danh sách liên kết

    • Danh sách liên kết đơn
    • Danh sách liên kết vòng
    • Danh sách liên kết đôi
  2. ngăn xếp

    • Ngăn xếp sử dụng Mảng
    • Ngăn xếp bằng Danh sách liên kết
  3. hàng đợi

    • Xếp hàng sử dụng Array
    • Xếp hàng sử dụng Danh sách liên kết
    • Hàng đợi ưu tiên
    • hàng đợi tròn
    • Hàng đợi kết thúc kép - DeQueue
  4. Cây

    • Cây chung
    • Cây nhị phân
    • Cây tìm kiếm nhị phân
    • Tree Traversal [Đặt hàng, đặt hàng trước, đặt hàng sau]
  5. đống

    • đống tối thiểu
    • đống tối đa
  6. đồ thị

    • BFS
    • Thuật toán Bellman Ford
    • DFS
    • Dijkstra
    • Floyd Warshall
    • Kruksal
    • Prim Cây bao trùm tối thiểu
    • Sắp xếp tô pô
  7. Sắp xếp

    • sắp xếp bong bóng
    • Sắp xếp bong bóng với những cải tiến
    • sắp xếp xô
    • Sắp xếp đống
    • Sắp xếp chèn
    • Hợp nhất Sắp xếp
    • Sắp xếp nhanh chóng
    • Sắp xếp cơ số
    • Sắp xếp lựa chọn
  8. Đang tìm kiếm

    • BFS
    • Tìm kiếm nhị phân [Lặp đi lặp lại]
    • Tìm kiếm nhị phân [Đệ quy]
    • DFS
    • DFS sử dụng ngăn xếp
    • Tìm kiếm theo cấp số nhân
    • Tìm kiếm nội suy
    • Tìm kiếm nhị phân lặp đi lặp lại
  9. Lập trình động và những thứ khác

    • Sudoku [Quay lại]
    • Lọc cộng tác
    • Giải trình tự DNA [Thuật toán NeedlemanWunsch]
    • 0/1 Lập trình động KnapSack
    • Fibonacci [Đệ quy]
    • Fibonacci [Đã ghi nhớ]
    • Mã hóa Huffman [Thuật toán tham lam]
    • Trình lập lịch công việc [Thuật toán tham lam]
    • Thuật toán khớp chuỗi KMP
    • Dãy con chung dài nhất [LCS]
    • Khớp mẫu
    • Mảng thưa thớt
  10. Numbers and Maths - Triển khai PHP Big Integer - Tạo số nguyên tố - Sàng

Tôi biết rất nhiều thứ còn thiếu trong danh sách?

Chủ Đề