✨Duyệt cây

Duyệt cây

Trong khoa học máy tính, duyệt cây là việc lần lượt thăm các đỉnh của cây theo một thứ tự nào đó. Các cây nói trong bài này là cây có gốc.

Dưới đây trình bày một số thuật toán duyệt cây thông dụng.

Duyệt cây nhị phân

phải Khi xét một cây nhị phân, mỗi đỉnh cùng với các đỉnh đứng sau nó là gốc của một cây con. Ta xét một đỉnh A là đỉnh trong của cây nhị phân. Theo thứ tự người ta xem xét thứ tự thăm đỉnh A so với việc thăm hai con của nó là thăm A trước rồi hai con sau, thăm A xen giữa việc thăm hai con, thăm A sau thi thăm hai con: A, con trái, con phải Con trái, A, con phải *Con trái, con phải, A

Tất nhiên nút không có con nào thì việc thăm con không diễn ra. Còn nếu con trái hoặc con phải của A lại là gốc của một cây con, thì việc thăm thay bằng việc duyệt cây con có gốc tại đó.

Từ đó có các phương pháp duyệt tiền thứ tự, trung thứ tự, hậu thứ tự đối với cây nhị phân có gốc tại đỉnh A như sau

Duyệt tiền thứ tự cây con gốc A

Nếu Cây là rỗng Return Thăm A Duyệt tiền thứ tự cây con gốc trái Duyệt tiền thứ tự cây con gốc phải

Duyệt trung thứ tự cây con gốc A

Nếu Cây là rỗng Return Duyệt trung thứ tự cây con gốc trái Thăm A Duyệt trung thứ tự cây con gốc phải

Duyệt hậu thứ tự cây con gốc A

Nếu Cây là rỗng Return Duyệt hậu thứ tự cây con gốc trái Duyệt hậu thứ tự cây con gốc phải Thăm A

Ví dụ

Giả sử có cây nhị phân sau A / \ B C / \ / \ D E F G Duyệt tiền thứ tự với cây này diễn ra tuần tự như sau #Thăm A, Duyệt cây gốc B, Duyệt cây gốc C #Thăm A, Thăm B, Thăm D, Thăm E, Thăm C, Thăm F, Thăm G Duyệt trung thứ tự với cây này diễn ra tuần tự như sau #Duyệt cây gốc B, Thăm A, Duyệt cây gốc C #Thăm D, Thăm B, Thăm E, Thăm A, Thăm F, Thăm C, Thăm G Duyệt hậu thứ tự với cây này diễn ra tuần tự như sau #Duyệt cây gốc B, Duyệt cây gốc C, Thăm A *#Thăm D, Thăm E, Thăm B, Thăm F, Thăm G, Thăm C, Thăm A

Duyệt cây tổng quát

phải Nếu tại gốc A của cây có các con từ trái sang phải là A_1,A_2,...,A_n thì quá trình duyệt tiền thứ tự, trung và hậu thứ tự như sau

Duyệt tiền thứ tự

Thăm A Lần lượt duyệt các cây con gốc A_1,A_2,...,A_n

Duyệt trung thứ tự

Duyệt cây con gốc A_1 Thăm A *Lần lượt duyệt các cây con gốc A_2,...,A_n

Duyệt hậu thứ tự

Lần lượt duyệt các cây con gốc A_1,A_2,...,A_n Thăm A

Tuy nhiên người ta ít xem xét việc duyệt trung thứ tự của cây tổng quát

Duyệt theo mức

Một phương pháp duyệt cây khác là duyệt theo mức. Bắt đầu duyệt từ gốc (đỉnh mức 0), rồi duyệt các con của gốc từ trái sang phải (các đỉnh mức 1), tiếp đến là các đỉnh mức 2,...

Giả mã

Giả sử có một cây nhị phân mà cấu trúc mỗi nút của nó chứa một giá trị value và các tham chiếu leftright trỏ tới hai con của nút đó. Ta có thể viết các hàm sau:

Duyệt tiền thứ tự

(pre-order (prefix) traversal) visit(node) print node.value if node.left != null then visit(node.left) if node.right != null then visit(node.right)

Duyệt hậu thứ tự

(post-order (postfix) traversal) visit(node) if node.left != null then visit(node.left) if node.right != null then visit(node.right) print node.value

Duyệt trung thứ tự

(in-order (infix) traversal) visit(node) if node.leftt!= null then visit(node.left) print node.value if node.rightg!= null then visit(node.right) // In phan tu tu be den lon

Cây nhị phân tương đương

Lưu trữ cấu trúc cây nhị phân

Để biểu diễn cây nhị phân ta dùng cấu trúc Nút (Node). Mỗi Nút là một đỉnh của cây, gồm ba trường, một trường Value chứa thông tin về nút đó. Hai trường LeftRight trỏ tới các nút con của đỉnh đó. Ngoài ra còn một con trỏ là Root trỏ tới nút gốc.

Cây nhị phân ở trong bài có thể biểu diễn như sau: Root=A A.Value="A",A.Left=B;A.Right=C B.Value="B",B.Left=D;B.Right=E C.Value="C",C.Left=F;C.Right=G D.Value="D",D.Left=Null;D.Right=Null E.Value="E",E.Left=Null;E.Right=Null F.Value="F",F.Left=Null;F.Right=Null G.Value="G",G.Left=Null;G.Right=Null

Chú ý: Phân biệt ký hiệu A, B,... chỉ nút và "A","B",... chỉ giá trị nút

Lưu trữ cấu trúc cây tổng quát

Khi biểu diễn cấu trúc cây tổng quát, vì mỗi nút có thể có nhiều con, số con có thể khác nhau, nên ta không dùng cho mỗi nút con một liên kết đến nút cha mà với mỗi nút vẫn chỉ dành hai liên kết, một liên kết (trường Child) trỏ đến nút con đầu bên trái của nó, một liên kết (trường Next)trỏ đến nút cùng cha kề bên phải nó. Nếu coi liên kết trường Child như liên kết Left, liên kết Next như liên kết Right ta có một cây nhị phân tương đương với cây tổng quát.

Ví dụ

  • Cây tổng quát A / | \ B C D | | | E F G
  • Cây nhị phân tương đương A | B / \ E C | | F D | G *Lưu trữ của cây tổng quát như sau Root=A A.Value="A",A.Child=B,A.Next=Null B.Value="B",B.Child=E,B.Next=C C.Value="C",C.Child=Null,C.Next=D D.Value="D",D.Child=G,D.Next=Null E.Value="E",E.Null,E.Next=F F.Value="F",F.Child=Null,F.Next=Null G.Value="G",D.Child=Null,G.Next=Null
👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Trong khoa học máy tính, **duyệt cây** là việc lần lượt thăm các đỉnh của cây theo một thứ tự nào đó. Các cây nói trong bài này là cây có gốc. Dưới đây trình
**Cây tìm kiếm nhị phân** (viết tắt tiếng Anh: BST - _Binary Search Tree_) là một cấu trúc dữ liệu rất thuận lợi cho bài toán tìm kiếm. Mỗi cây tìm kiếm nhị phân đều
nhỏ|Ví dụ về một cây nhị phân Trong khoa học máy tính, **cây** là một cấu trúc dữ liệu được sử dụng rộng rãi gồm một tập hợp các nút (tiếng Anh: _node_) được liên
phải|khung|Một cây có dán nhãn với 6 đỉnh và 5 cạnh **Cây** là khái niệm quan trọng trong lý thuyết đồ thị, cấu trúc dữ liệu và giải thuật. Cây là một đồ thị mà
**Ôtômat cây** (tiếng Anh: tree automaton) là một loại máy trạng thái. Ôtômat cây xử lý cấu trúc cây, thay vì xâu như các máy trạng thái thường gặp. Bài viết này đề cập đến
**Cây trồng biến đổi gen** (Genetically Modified Crop - **GMC**) là loại cây trồng được lai tạo ra bằng cách sử dụng các kỹ thuật của công nghệ sinh học hiện đại, hay còn gọi
**Kiểm duyệt ở Việt Nam** rất phổ biến và được thực hiện bởi Đảng Cộng sản Việt Nam với mọi loại phuơng tiện truyền thông – báo chí, văn học, tác phẩm nghệ thuật, âm
## Thời Pháp thuộc Dưới thời thực dân Pháp, báo chí bắt đầu xuất hiện ở Việt Nam và bị người Pháp áp dụng chế độ kiểm duyệt, nhất là với báo chí tiếng Việt.
Trong khoa học máy tính, **Phép quay** trên các cây nhị phân là một phép biến đổi làm thay đổi vai trò cha con giữa 2 nút trên cây. Có hai phép quay là quay
**NCSA Mosaic**, hay đơn giản là **Mosaic**, là trình duyệt web phổ biến World Wide Web và Internet. Nó cũng là một ứng dụng khách cho các giao thức internet trước đó như Giao thức
thế=Cấm TikTok.|nhỏ|294x294px|Lệnh cấm [[TikTok.]] Nhiều tổ chức chính phủ và doanh nghiệp tư nhân đã áp đặt hoặc cố gắng áp đặt các lệnh cấm đối với dịch vụ truyền thông xã hội TikTok. Các
Trong khoa học máy tính, một **Cây AVL** là một cây tìm kiếm nhị phân tự cân bằng, và là cấu trúc dữ liệu đầu tiên có khả năng này. Trong một cây AVL, tại
phải|Cây hậu tố cho xâu BANANA. Mỗi xâu con được kết thúc bởi ký tự đặc biệt $. Sáu đường từ gốc đến lá (ký hiệu bởi ô vuông) tương ứng với sáu hậu tố
Dưới đây là **danh sách các cây di sản ở Việt Nam** xếp theo thể loại và tuổi. Danh hiệu Cây Di sản Việt Nam được Hội Bảo vệ Thiên nhiên và Môi trường Việt
**Hiệp hội Thương mại Giống cây trồng Việt Nam** là tổ chức xã hội - nghề nghiệp của những người làm việc trong lĩnh vực buôn bán trao đổi cung cấp giống cây trồng tại
**Lê Văn Duyệt** (1763 hoặc 1764 – 28 tháng 8 năm 1832) còn gọi là **Tả Quân Duyệt**, là một nhà chính trị, nhà quân sự lớn trong lịch sử Việt Nam. Ông là một
**Maha Saya** (Hindi: महा शय, chữ Hán: 槃羅茶悦 / **Bàn-la Trà-duyệt**, ? - 1460) là vua của vương triều thứ 14 của Chăm Pa. ## Tiểu sử Trà Duyệt được biết đến qua Minh sử
**Đường Lê Văn Duyệt** là một tuyến đường trên địa bàn quận Bình Thạnh, Thành phố Hồ Chí Minh. Tại ngã ba này có di tích nổi tiếng Lăng Ông Bà Chiểu, tức lăng Đức
**Duyệt Thị Đường** (_duyệt_: xem xét; _thị_: đúng đắn; _đường_: ngôi nhà) là một nhà hát dành cho vua, hoàng thân quốc thích, các quan đại thần và là nơi biểu diễn các vở tuồng
EASY CLEAN - CÂU CHUYỆN VỀ CÂY TĂM NHỰA VIỆT NAMTỪ CÂY TĂM NHỰA DOCTOR'S BRUSHGiữa năm 2011, một người bạn đi Mỹ về cầm theo 1 hộp tăm nhựa Doctor Brush tặng cho bổn
Hộp tăm chỉ nha khoa Okamura 70 cây Trong miệng của mỗi người sẽ có rất nhiều vi khuẩn sống dựa vào những mảnh thức ăn còn thừa bám vào khe răng sau mỗi bữa
Kem Đánh Răng Cho Bé BABY BRO Kem Đánh Răng Hữu Cơ Nuốt Được Vị Trái Cây Date Xa - TimikidKem Đánh Răng Hữu Cơ Nuốt Được Hàn Quốc Baby Bro Vị Trái Cây Cho
Nếu những cây lấy ráy tai chuyên dụng cần được quấn bông vào đầu bẩy trước khi bắt đầu làm sạch để đảm bảo độ an toàn thì những cây bông ráy tai bằng tre
Blockchain là công nghệ lưu trữ dữ liệu phân tán, đảm bảo an toàn, minh bạch và không thể bị giả mạo. Với tính phi tập trung và bất biến, Blockchain tăng cường sự tin
Nhíp gắp mụn được làm từ thép không gỉ , thiết kế gọn nhẹ với nhiều ưu điểm vượt trội, đầu gắp cực nhỏ giúp cho việc lấy nhân mụn một cách dễ dàng, không
Nhíp gắp mụn được làm từ thép không gỉ , thiết kế gọn nhẹ với nhiều ưu điểm vượt trội, đầu gắp cực nhỏ giúp cho việc lấy nhân mụn một cách dễ dàng, không
Nhíp gắp mụn được làm từ thép không gỉ , thiết kế gọn nhẹ với nhiều ưu điểm vượt trội, đầu gắp cực nhỏ giúp cho việc lấy nhân mụn một cách dễ dàng, không
Trong miệng của mỗi người sẽ có rất nhiều vi khuẩn sống dựa vào những mảnh thức ăn còn thừa bám vào khe răng sau mỗi bữa ăn. Với việc chải răng đúng cách và
Nhíp gắp mụn được làm từ thép không gỉ , thiết kế gọn nhẹ với nhiều ưu điểm vượt trội, đầu gắp cực nhỏ giúp cho việc lấy nhân mụn một cách dễ dàng, không
MÔ TẢ SẢN PHẨMTrong miệng của mỗi người sẽ có rất nhiều vi khuẩn sống dựa vào những mảnh thức ăn còn thừa bám vào khe răng sau mỗi bữa ăn. Với việc chải răng
MÔ TẢ SẢN PHẨM Trong miệng của mỗi người sẽ có rất nhiều vi khuẩn sống dựa vào những mảnh thức ăn còn thừa bám vào khe răng sau mỗi bữa ăn. Với việc chải
̛̃ ̆́ ̣̂ ́ ̀ ̂ ̉ ̛̛̣ ́, ̛̛ ́ ̂ ̛̛ ́, ̀ ́ ́ ̛ ̣̂ đ̣̂ ß .Hàng nội địa Đức chuẩn kèm bill.̛̃ ̆́ ̣̂ 3 in 1 có thể
TĂM CHỈ NHA KHOA – NIỀM TIN YÊU CHO NGƯỜI SỬ DỤNG* Ưu điểm nổi bật của Tăm chỉ nha khoa:+ Tăm chỉ nha khoa được chia thành 2 đầu: đầu nhựa tròn nhọn được
MÔ TẢ SẢN PHẨMMò mẫm ra được cái này độc đẹp lạ quá. Ad duyệt giúp e với ạ cảm ơn ad nhìuuuEm cực kỳ thích sưu tầm son, eo nhìn yêu và lạ từ
Mẫu sản phẩm vừa ra của hãng SivannaColors hãng nội địa Thái Lan 5 cây fullsizevới 5 màu hottrend nhất hiện naychất son lì mịn không thể bỏ qua Thành phần được kiểm duyệt nghiêm
Trong miệng của mỗi người sẽ có rất nhiều vi khuẩn sống dựa vào những mảnh thức ăn còn thừa bám vào khe răng sau mỗi bữa ăn. Với việc chải răng đúng cách và
1, Công dụng:- Kháng khuẩn, làm sạch không khí- Tăng cường trí nhớ, nâng cao hiệu quả làm việc- Thúc đẩy tế bào não hoạt động, hỗ trợ điều trị bệnh Alzheimer- Làm dịu sự
(tạm dịch: Sông Ara bên dưới cây cầu) là một bộ manga nhật sáng tác bởi Nakamura Hikaru, ra mắt lần đầu ngày 3 tháng 12 năm 2004 trên tạp chí Young Gangan dành cho
Okamura - Tăm chỉ nha khoa chăm sóc răng miệng - gói 90 câyTrong miệng của mỗi người sẽ có rất nhiều vi khuẩn sống dựa vào những mảnh thức ăn còn thừa bám vào
Trong miệng của mỗi người sẽ có rất nhiều vi khuẩn sống dựa vào những mảnh thức ăn còn thừa bám vào khe răng sau mỗi bữa ăn. Với việc chải răng đúng cách và
Trong miệng của mỗi người sẽ có rất nhiều vi khuẩn sống dựa vào những mảnh thức ăn còn thừa bám vào khe răng sau mỗi bữa ăn. Với việc chải răng đúng cách và
Trong miệng của mỗi người sẽ có rất nhiều vi khuẩn sống dựa vào những mảnh thức ăn còn thừa bám vào khe răng sau mỗi bữa ăn. Với việc chải răng đúng cách và
Trong miệng của mỗi người sẽ có rất nhiều vi khuẩn sống dựa vào những mảnh thức ăn còn thừa bám vào khe răng sau mỗi bữa ăn. Với việc chải răng đúng cách và
Mẫu sản phẩm vừa ra của hãng SivannaColors hãng nội địa Thái Lan 5 cây fullsizevới 5 màu hottrend nhất hiện naychất son lì mịn không thể bỏ qua Thành phần được kiểm duyệt nghiêm
Hộp tăm chỉ nha khoa Okamura 70 câyTrong miệng của mỗi người sẽ có rất nhiều vi khuẩn sống dựa vào những mảnh thức ăn còn thừa bám vào khe răng sau mỗi bữa ăn.
Trong miệng của mỗi người sẽ có rất nhiều vi khuẩn sống dựa vào những mảnh thức ăn còn thừa bám vào khe răng sau mỗi bữa ăn. Với việc chải răng đúng cách và
Ưu điểm nổi bật của Tăm chỉ nha khoa Okamura dành cho trẻ em:Tăm chỉ nha khoa là sự kết hợp hoàn hảo giữa chỉ tơ nha khoa và tăm xỉa răng, sản phẩm được
**_Ma cây_** (tên gốc tiếng Anh: **_Evil Dead_**) là một phim điện ảnh kinh dị siêu nhiên của Mỹ năm 2013 do Fede Alvarez đạo diễn, với phần kịch bản được chấp bút bởi Rodo
**Tìm kiếm ưu tiên chiều sâu** hay **tìm kiếm theo chiều sâu** () là một thuật toán duyệt hoặc tìm kiếm trên một cây hoặc một
**Ký pháp Ba Lan** (tiếng Anh: _Polish notation_), còn gọi là ký pháp tiền tố (tiếng Anh: _prefix notation_), là một cách viết một biểu thức đại số rất thuận lợi cho việc thực hiện