Cấu trúc dữ liệu JavaScript W3schools
const Nút = yêu cầu ('. /Nút. js'); Show
mô-đun. xuất khẩu = lớp BinarySearchTree { cái này. root = Nút mới (rootValue); chèn (currentNode, newValue) { if (currentNode === null) { currentNode = Nút mới (giá trị mới); } khác nếu (newValue < currentNode. giá trị) { hiện tạiNode. leftChild = cái này. chèn (currentNode. leftChild, newValue); hiện tạiNode. phảiChild = cái này. chèn (currentNode. rightChild, newValue); cái này. root=Nút mới(giá trị mới); cái này. chèn (cái này. gốc, giá trị mới); preOrderPrint(currentNode) { nếu (currentNode. == không) { bảng điều khiển. log(currentNode. giá trị); cái này. preOrderPrint(currentNode. leftChild); cái này. preOrderPrint(currentNode. rightChild); inOrderPrint(currentNode) { nếu (currentNode. == không) { cái này. inOrderPrint(currentNode. leftChild); bảng điều khiển. log(currentNode. giá trị); cái này. inOrderPrint(currentNode. rightChild); postOrderPrint(currentNode) { nếu (currentNode. == không) { cái này. postOrderPrint(currentNode. leftChild); cái này. postOrderPrint(currentNode. rightChild); bảng điều khiển. log(currentNode. giá trị); tìm kiếm(currentNode, value) { nếu (currentNode. == không) { nếu (giá trị == currentNode. giá trị) { } khác nếu (giá trị < currentNode. giá trị) { trả lại cái này. tìm kiếm (currentNode. leftChild, giá trị) trả lại cái này. tìm kiếm (currentNode. rightChild, giá trị) trả lại cái này. tìm kiếm (cái này. gốc, giá trị); xóa(currentNode, value) { if (currentNode == null) { trong khi (currentNode && (currentNode. val. = giá trị)) { parentNode = currentNode; nếu (giá trị < currentNode. giá trị) { currentNode = currentNode. leftCon; currentNode = currentNode. ngayCon; if (currentNode === null) { } khác nếu (currentNode. leftChild == null && currentNode. rightChild == null) { if(currentNode. val==cái này. nguồn gốc. giá trị){ khác nếu (currentNode. val < ParentNode. giá trị) { cha mẹNode. leftChild = null; cha mẹNode. rightChild = null; } khác nếu (currentNode. rightChild == null) { if(currentNode. val==cái này. nguồn gốc. giá trị){ cái này. root=currentNode. leftCon; khác nếu (currentNode. tráiCon. val < ParentNode. giá trị) { cha mẹNode. leftChild = currentNode. leftCon; cha mẹNode. rightChild = currentNode. leftCon; } khác nếu (currentNode. leftChild == null) { if(currentNode. val==cái này. nguồn gốc. giá trị){ cái này. root = currentNode. ngayCon; khác nếu (currentNode. đúngCon. val < ParentNode. giá trị) { cha mẹNode. leftChild = currentNode. ngayCon; cha mẹNode. rightChild = currentNode. ngayCon; var minRight = currentNode. ngayCon; trong khi (minRight. tráiCon. == không) { minRight = minRight. leftCon; cái này. xóa (cái này. gốc, tối thiểu. giá trị); Hướng dẫn Cấu trúc dữ liệu (DS) cung cấp các khái niệm cơ bản và nâng cao về Cấu trúc dữ liệu. Hướng dẫn Cấu trúc dữ liệu của chúng tôi được thiết kế cho người mới bắt đầu và các chuyên gia Cấu trúc dữ liệu là một cách để lưu trữ và sắp xếp dữ liệu sao cho nó có thể được sử dụng một cách hiệu quả Hướng dẫn về Cấu trúc dữ liệu của chúng tôi bao gồm tất cả các chủ đề về Cấu trúc dữ liệu như Mảng, Con trỏ, Cấu trúc, Danh sách được liên kết, Ngăn xếp, Hàng đợi, Đồ thị, Tìm kiếm, Sắp xếp, Chương trình, v.v. Cấu trúc dữ liệu là gì?Tên cấu trúc dữ liệu chỉ ra rằng việc tổ chức dữ liệu trong bộ nhớ. Có nhiều cách tổ chức dữ liệu trong bộ nhớ như chúng ta đã thấy một trong các cấu trúc dữ liệu, tôi. e. , mảng trong ngôn ngữ C. Mảng là tập hợp các phần tử bộ nhớ trong đó dữ liệu được lưu trữ tuần tự,. e. , lân lượt tưng ngươi một. Nói cách khác, chúng ta có thể nói rằng mảng lưu trữ các phần tử một cách liên tục. Việc tổ chức dữ liệu này được thực hiện với sự trợ giúp của một mảng cấu trúc dữ liệu. Ngoài ra còn có các cách khác để tổ chức dữ liệu trong bộ nhớ. Hãy xem các loại cấu trúc dữ liệu khác nhau Cấu trúc dữ liệu không phải là bất kỳ ngôn ngữ lập trình nào như C, C++, java, v.v. Nó là một tập hợp các thuật toán mà chúng ta có thể sử dụng trong bất kỳ ngôn ngữ lập trình nào để cấu trúc dữ liệu trong bộ nhớ Để cấu trúc dữ liệu trong bộ nhớ, 'n' thuật toán đã được đề xuất và tất cả các thuật toán này được gọi là kiểu dữ liệu Trừu tượng. Các kiểu dữ liệu trừu tượng này là tập hợp các quy tắc Các loại cấu trúc dữ liệuCó hai loại cấu trúc dữ liệu
Cấu trúc dữ liệu nguyên thủy Các cấu trúc dữ liệu nguyên thủy là các kiểu dữ liệu nguyên thủy. int, char, float, double và pointer là các cấu trúc dữ liệu nguyên thủy có thể chứa một giá trị Cấu trúc dữ liệu không nguyên thủy Cấu trúc dữ liệu không nguyên thủy được chia thành hai loại
Cấu trúc dữ liệu tuyến tính Việc sắp xếp dữ liệu theo cách tuần tự được gọi là cấu trúc dữ liệu tuyến tính. Các cấu trúc dữ liệu được sử dụng cho mục đích này là Mảng, Danh sách được liên kết, Ngăn xếp và Hàng đợi. Trong các cấu trúc dữ liệu này, một phần tử chỉ được kết nối với một phần tử khác ở dạng tuyến tính Khi một phần tử được kết nối với 'n' số phần tử được gọi là cấu trúc dữ liệu phi tuyến tính. Ví dụ tốt nhất là cây và đồ thị. Trong trường hợp này, các yếu tố được sắp xếp một cách ngẫu nhiên Chúng ta sẽ thảo luận ngắn gọn về các cấu trúc dữ liệu trên trong các chủ đề sắp tới. Bây giờ, chúng ta sẽ xem các thao tác phổ biến mà chúng ta có thể thực hiện trên các cấu trúc dữ liệu này Cấu trúc dữ liệu cũng có thể được phân loại là
Hoạt động chínhCác hoạt động chính hoặc phổ biến có thể được thực hiện trên các cấu trúc dữ liệu là
Cấu trúc dữ liệu nào?Cấu trúc dữ liệu là một cách tổ chức dữ liệu để nó có thể được sử dụng một cách hiệu quả. Ở đây, chúng ta đã sử dụng từ một cách hiệu quả, xét về cả không gian và thời gian. Ví dụ: ngăn xếp là một ADT (Kiểu dữ liệu trừu tượng) sử dụng cấu trúc dữ liệu mảng hoặc danh sách được liên kết để triển khai. Do đó, chúng tôi kết luận rằng chúng tôi yêu cầu một số cấu trúc dữ liệu để triển khai một ADT cụ thể Một ADT cho biết những gì sẽ được thực hiện và cấu trúc dữ liệu cho biết nó được thực hiện như thế nào. Nói cách khác, chúng ta có thể nói rằng ADT cung cấp cho chúng ta bản thiết kế trong khi cấu trúc dữ liệu cung cấp phần triển khai. Bây giờ câu hỏi đặt ra. làm cách nào để biết cấu trúc dữ liệu nào sẽ được sử dụng cho một ADT cụ thể? Vì các cấu trúc dữ liệu khác nhau có thể được triển khai trong một ADT cụ thể, nhưng các cách triển khai khác nhau được so sánh về thời gian và không gian. Ví dụ: Stack ADT có thể được triển khai bởi cả Mảng và danh sách được liên kết. Giả sử mảng đang cung cấp hiệu quả về thời gian trong khi danh sách được liên kết đang cung cấp hiệu quả về không gian, do đó, cái phù hợp nhất với yêu cầu của người dùng hiện tại sẽ được chọn Ưu điểm của cấu trúc dữ liệuSau đây là những ưu điểm của cấu trúc dữ liệu
Chỉ mục cấu trúc dữ liệuKhái niệm cơ bản về DS Mảng DS Danh sách liên kết DS ngăn xếp DS hàng đợi DS DS cây Đồ thị DS tìm kiếm DS Sắp xếp DS Câu hỏi phỏng vấn Chương trình danh sách liên kết đơn Chương trình danh sách liên kết kép Chương trình danh sách liên kết vòng Chương trình cây Điều kiện tiên quyếtTrước khi học Cấu trúc dữ liệu, bạn phải có kiến thức cơ bản về C Khán giảHướng dẫn Cấu trúc dữ liệu của chúng tôi được thiết kế để giúp người mới bắt đầu và các chuyên gia Vấn đềChúng tôi đảm bảo rằng bạn sẽ không tìm thấy bất kỳ vấn đề nào trong hướng dẫn Cấu trúc dữ liệu này. Nhưng nếu có bất kỳ sai lầm, xin vui lòng gửi nó trong mẫu liên hệ Cấu trúc dữ liệu nào được sử dụng trong JavaScript?8 Cấu trúc dữ liệu phổ biến trong JavaScript . Cây rơm. Cấu trúc dữ liệu ngăn xếp chứa danh sách các phần tử và hoạt động theo nguyên tắc LIFO (Vào sau, ra trước). . Xếp hàng. . Hàng đợi ưu tiên. . Danh sách liên kết. . Bộ. . Bảng băm. . 7 loại dữ liệu trong JavaScript là gì?loại không. Loại Null có chính xác một giá trị. vô giá trị loại không xác định. Loại Không xác định là nơi sinh sống của chính xác một giá trị. không xác định. . kiểu Boolean. Kiểu Boolean đại diện cho một thực thể logic và có hai giá trị. đúng và sai. . loại số. . loại BigInt. . loại chuỗi. . loại biểu tượng Bốn cấu trúc dữ liệu cơ bản trong JavaScript là gì?Bốn loại cấu trúc dữ liệu cơ bản được JavaScript hỗ trợ là. danh sách mảng, bản đồ, bản ghi và bảng JSON .
JavaScript có tốt cho cấu trúc dữ liệu không?Cấu trúc dữ liệu và thuật toán không dành riêng cho ngôn ngữ và do đó bạn có thể sử dụng bất kỳ ngôn ngữ nào có thể là JavaScript, C, C++, Java hoặc Python . Bạn sẽ cảm thấy thoải mái với cú pháp của ngôn ngữ và bạn đã sẵn sàng để sử dụng. |