Chuyển đến nội dung chính

TÔI ĐÁNH GIÁ THỊ TRƯỜNG CNTT NĂM 2025 CHO BẠN

  TÔI ĐÁNH GIÁ THỊ TRƯỜNG CNTT NĂM 2025 Cũng như năm 2024, thị trường ngành CNTT trong năm 2025 không có quá nhiều khởi sắc. Tuy nhiên, mình sẽ phân tích một số điểm lưu ý để các bạn nắm bắt được thị trường, đặc biệt đối với các bạn sinh viên đang chuẩn bị ra trường có cơ hội tốt hơn.  Trước khi đi vào bài đọc, các bạn có thể tham khảo hai bài trước để nắm rõ thị trường trong những năm gần đây như thế nào nhé: Bài viết 1: Vì sao xuất hiện tình trạng layoff trong ngành CNTT? Bài viết 2: TÔI DÀNH 3 NGÀY ĐÁNH GIÁ THỊ TRƯỜNG CNTT CUỐI NĂM 2024 CHO BẠN. Mở đầu bài viết, ta cùng tìm hiểu về trending trên TrueUP xem như thế nào nhé (Nhắc lại cho các bạn thì TrueUp crawl các data từ các bài tuyển dụng của các tập đoàn công nghệ lớn) Như các bạn thấy thì sau đợt layoff vào năm 2023, xu hướng tuyển dụng đang dần phục hồi, tuy nhiên vẫn không quá lớn. Theo dữ liệu của Gartner, vốn đầu tư vào ngành IT sẽ tăng 57.4 tỷ đô, tương ứng 9.3% tăng trưởng so với cùng kỳ năm 2024.  Về nguyên ...

ĐỘ PHỨC TẠP THỜI GIAN CỦA BFS ĐỐI VỚI CÂY ĐỒ THỊ

 

ĐỘ PHỨC TẠP THỜI GIAN CỦA BFS ĐỐI VỚI CÂY ĐỒ THỊ

Ở đây chúng ta không nói đến cách thuật toán hoạt động ra sao, chỉ xét đến độ phức tạp của thuật toán.

(Các bạn nên xem các bài trước về cách tính big O trước khi xem bài này nhé)

Ta sẽ tóm lại các bước của quá trình duyệt BFS rồi tiến hành phân tích:

B1: Khởi tạo một danh sách là một queue

B2: Truyền vào danh sách node bắt đầu

B3: Lặp

B3.1: Nếu danh sách hết thì sẽ kết thúc (false)

B3.2: Lấy một phần tử ra khỏi danh sách, đặt là current

B3.3: Nếu current là goal thì kết thúc (true)

B3.4: Duyệt từng con của nó và thêm vào danh sách

Tiếp theo ta tiến hành đặt ký hiệu: Gọi b là độ sâu tối đa của cây và d là số nhánh tối đa của nó như hình.



Vì sao ta lại chọn là tối đa? Vì một cây thông thường thì số nhánh cũng như độ sâu từng node lá sẽ không cố định, nên ta sẽ xét trường hợp xấu nhất để thuận tiện tính toán cũng như là biết được giới hạn của nó.

Trong thuật toán ta để ý rằng vòng lặp ở bước ba số lần lặp của nó chính là số lần duyệt đỉnh current. Và mỗi lần lấy current sẽ duyệt b lần để lấy đỉnh con (B3.4). Các bước khác chỉ là cố định O(1) nên ta không xét.

Giả sử như không tồn tại bước duyệt B3.4, độ phức tạp của thuật toán sẽ chính là số lần duyệt qua tất cả các node của đồ thị. Như thế ta sẽ tính thử số lần duyệt node của đồ thị.

Ta thấy đồ thị có nguyên tắc sau (hình trên): Với b = 3, tại vị trí depth = 0 thì số node sẽ là b0 = 1, depth = 1 thì số node là b1 = 3,... Như vậy tại vị trí k bất kỳ thì số node sẽ là bk. Đặt k = d => vị trí tối đa sẽ duyệt bd node. Tổng số node ta có thể duyệt qua sẽ là:

f’(b,d) = b0 + b1 + b2 + ... + bd

Nhưng ta nhớ rằng với mỗi node gọi là current ta lấy ra và duyệt, sẽ tồn tại bước B3.4 là duyệt qua b node con để thêm vào danh sách. Như vậy hàm số thực sự sẽ là:

 f(b,d) = (b0 + b1 + b2 + ... + bd - 1)*b + bd

Vì sao tại số lần duyệt bd không được nhân với b? Tại đây là lần duyệt của các nút lá. Ở nút lá không tồn tại nút con để duyệt cho nên không được tính vào.

f(b,d) = b1 + b2 + b3 + ... + bd + bd

f(b,d) = b1 + b2 + b3 + ... + 2bd

Ta nhớ rằng khi xét big O ta chọn hệ số có sự biến đổi lớn nhất. Ở đây là 2bd.

Tiếp theo ta loại bỏ hệ số không cần thiết là 2, vì nó không làm thay đổi bản chất của một đồ thị hàm mũ. (độ biến thiên vẫn không thay đổi)

Như vậy ta có thể kết luận độ phức tạp của thuật toán là O(bd)  

Lời kết: Đây hoàn toàn là bài phân tích của riêng mình thông qua kiến thức mình có được, nếu có sai sót mong các bạn đóng góp thêm!

Nội dung bài viết thuộc về Lê Công Diễn.

 

Người viết: Lê Công Diễn

Mang đi nhớ ghi nguồn

 

Nhận xét

Bài đăng phổ biến từ blog này

TÔI ĐÁNH GIÁ THỊ TRƯỜNG CNTT NĂM 2025 CHO BẠN

  TÔI ĐÁNH GIÁ THỊ TRƯỜNG CNTT NĂM 2025 Cũng như năm 2024, thị trường ngành CNTT trong năm 2025 không có quá nhiều khởi sắc. Tuy nhiên, mình sẽ phân tích một số điểm lưu ý để các bạn nắm bắt được thị trường, đặc biệt đối với các bạn sinh viên đang chuẩn bị ra trường có cơ hội tốt hơn.  Trước khi đi vào bài đọc, các bạn có thể tham khảo hai bài trước để nắm rõ thị trường trong những năm gần đây như thế nào nhé: Bài viết 1: Vì sao xuất hiện tình trạng layoff trong ngành CNTT? Bài viết 2: TÔI DÀNH 3 NGÀY ĐÁNH GIÁ THỊ TRƯỜNG CNTT CUỐI NĂM 2024 CHO BẠN. Mở đầu bài viết, ta cùng tìm hiểu về trending trên TrueUP xem như thế nào nhé (Nhắc lại cho các bạn thì TrueUp crawl các data từ các bài tuyển dụng của các tập đoàn công nghệ lớn) Như các bạn thấy thì sau đợt layoff vào năm 2023, xu hướng tuyển dụng đang dần phục hồi, tuy nhiên vẫn không quá lớn. Theo dữ liệu của Gartner, vốn đầu tư vào ngành IT sẽ tăng 57.4 tỷ đô, tương ứng 9.3% tăng trưởng so với cùng kỳ năm 2024.  Về nguyên ...

TÔI DÀNH 3 NGÀY ĐÁNH GIÁ THỊ TRƯỜNG CNTT CUỐI NĂM 2024 CHO BẠN.

  TÔI DÀNH 3 NGÀY ĐÁNH GIÁ THỊ TRƯỜNG CNTT CUỐI NĂM 2024 CHO BẠN.   CNTT là một ngành được xem là “xu thế” trong thời đại hiện nay, với lượng nhu cầu công việc nhiều cũng như mức lương trung bình cao hơn so với các ngành khác. Tuy nhiên trong những năm trở lại đây, ngành đang có nhiều dấu hiệu tụt dốc, tiêu biểu như làn sóng layoff (sa thải) trong năm 2023 cực lớn. Chúng ta cùng đánh giá thị trường hiện nay để đưa ra hướng đi phù hợp nhé.

GIẢI THÍCH MỘT SỐ DẠNG BIG O: O(LOGN)

GIẢI THÍCH MỘT SỐ DẠNG BIG O: O(LOGN) Đây là một độ phức tạp điển hình, có rất nhiều trong các dạng cấu trúc dữ liệu và giải thuật cơ bản. Nắm được cách tính độ phức tạp O(logn) của các thuật toán sẽ giúp bạn tự tin hơn được 50% trong hầu hết các dạng big O. Trước khi bắt đầu bài viết, mình muốn các bạn cần tìm hiểu qua về hai bài viết cũ của mình về Big O là gì và cách tính độ phức tạp của Big O cho hàm đệ quy. Bạn tham khảo qua hai bài viết sau: