01/10/2018, 11:51

Software Engineer, Programmer và Software Developer

3 Khái niệm trên em còn khá mơ hồ không rõ sự khác nhau của nó là gì ?
Em đang học phát triển ứng dụng di động, tự lên ý tưởng, tự viết giao diện, xử lý backend thì em đang là Software Engineer, Programmer hay Software Developer ?
Em cũng đang học thêm cấu trúc dữ liệu và giải thuật, tuy nhiên phần giải thuật (các thuật toán sort) em không thấy áp dụng cho việc viết ứng dụng của em, vậy mọi người cho em hỏi ứng dụng của việc học cấu trúc dữ liệu và giải thuật ạ?

Em cảm ơn.

Hung viết 14:04 ngày 01/10/2018

Đúng là không có ứng dụng khi học cấu trúc dữ liệu, nhưng đó là tiền đề để tìm hiểu về các giải thuật và cấu trúc nâng cao.

Ví dụ về Linked list, Node đơn giản thì chỉ chứa giá trị và con trỏ Node kế tiếp. Nếu mở rộng Linked list ra, Node có thể chứa 1 array có thứ tự thay vì 1 giá trị, từ Linked list dạng array thì xây lên Linked list khác abstract lại, Node mới chứa 2 giá trị và con trỏ, giá trị chứa giá trị nhỏ nhất và giá trị lớn nhất của Node array. Và cái Linked list phức tạp vậy mới ứng dụng thực tế, nhưng phải hiểu cơ bản Linked list mới có thể mở rộng được.

Nguyễn Duy Hùng viết 13:56 ngày 01/10/2018

phần đầu của câu hỏi của bạn: Sự khác biệt giữa mấy tên gọi https://techmaster.vn/posts/33374/lap-trinh-vien-la-gi , cái này là ý kiến cá nhân của người viết nhưng mà cũng hay.
Giải thuật sort có thể nó không áp dụng được cho ứng dụng của bạn nhưng nó có ích cho việc khác, cái đó là tùy vì sort chỉ là một phần trong các giải thuật. Học CTDL&GT thì mới biết đến mấy thứ như LinkList, Heap, Stack, Queue, Tree, Hashtable, Map, Set v.v ngoài cái thuật sort ra còn có search, các giải thuật như BFS, DFS, Backtraking v.v nói chung thì biết đến cách tổ chức giữ liệu và vận dụng các thuật toán phù hợp với nó. Ví dụ bây giờ mình muốn làm ứng dụng từ điển thì mình phải làm sao để lưu các từ, làm sao để tìm kiếm thật nhanh, đến cái này thì mấy kiểu cấu trúc trên chỉ là cơ bản bạn phải biết nó để xây dựng ra một cấu trúc mới tốt hơn nhanh hơn cái này nếu từng làm chắc cũng biết mà ha. Nói túm lại thì học CTDL&GT và phần nâng cao của nó cũng là cái nền thôi, học để biết.

Bài liên quan
0