Những thuật toán và cấu trúc dữ liệu nào mà một lập trình viên nên biết?

####Bạn nghĩ những thuật toán nào mà một lập trình viên giỏi sẽ cần phải biết ?

12 Likes

Cho mình hỏi, tại sao bạn nghĩ những thuật toán/cấu trúc dữ liệu trên, một lập trình viên nên biết. Vậy không biết sẽ gặp những khó khăn như thế trong quá trình phát triển bản thân?

Đạt nghĩ là các thuật toán tìm đường.

2 Likes

Biết càng nhiều càng tốt
Ấn nhầm quick sort rồi, tưởng nó hiện ra cái gì chứ, ko vote lại được à :dog:

2 Likes

Theo mình lên hiểu nguyên lý của các thuật toán này để áp dụng thôi, chứ các thuật toán này phần lớn được cài đặt trong các thư viện hết rồi.

uk, ấn nhầm thiệt, cứ tưởng vo link tham khảo ai dè vote :v,
dự là quick sort được vote nhiều nhất :stuck_out_tongue_closed_eyes:

1 Like

Click vào text để chuyển tới Wiki nhá.

Biết mỗi cái Binary Search Tree nên vote cho nó vậy :grin:

Có ai giới thiệu sơ lược mấy cái thuật toán này được không ? Không hiểu, không biết sao mà vote :smile:

1 Like

Tìm kiếm & sắp xếp nói chung là quan trọng nhất rồi :smile:

2 Likes

@Gio có thể cho biết suy nghĩ của mình về vấn đề này không? Từ lúc đi làm Đạt không sử dụng các kiến thức thuật toán đã học được ở trường. Nhưng hiểu biết về thuật toán có lợi cho công việc của Đạt hiện nay.

Hiểu về thuật toán, Đạt sẽ biết một điều cơ bản rằng nếu ta sử dụng thuật toán X cho vấn đề Y thì sẽ tiết kiệm được N lần thời gian.

1 Like

Tớ chỉ biết mấy cái thuật toán tìm kiếm cơ bản. Ngoài ra thi thoảng làm game cũng dùng 1 vài thuật toán như A* (game pikachu). Ngoài mấy cái đó ra thì ít khi đụng đến thuật toán.

2 Likes

Đạt mới đọc câu trả lời cho câu hỏi: What algorithms should a first year computer science student know?

Chia sẻ cho mọi người luôn

First year computer science students are mainly focused on learning how to program. MIT’s first algorithms course, 6.006, is therefore a pretty gentle introduction. It covers

  • core concepts of runtime and asymptotic analysis
  • divide and conquer
  • sorting (merge sort, quicksort)
  • searching (balanced binary search trees, hash tables)
  • graphs (breadth and depth first search, topological sorting)
  • dynamic programming (shortest paths, text justification)

That’s really enough for a first year. Our next course, 6.046, dives much deeper.


Khóa học MIT - 6.006: Introduction to Algorithms

4 Likes

Thuật toán tìm đường áp dụng nhiều cho game lắm nè :smiley: Ví dụ game Pacman :smiley: Nhưng mà hay ở chổ người chơi liên tục di chuyển và đổi hướng, check đường liên tục có thể dẫn đến bị giật giật, mà game đó bọn tự động vẫn chạy liên tục :dizzy_face:

1 Like

chắc là dùng giải thuật A*. :smile:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?