|
54 | 54 | "- The *height* of a tree is the longest path from its root to its\n",
|
55 | 55 | " leaves. The height of this tree is 4\n",
|
56 | 56 | "\n",
|
57 |
| - "\n", |
| 57 | + "\n", |
58 | 58 | "\n",
|
59 | 59 | "## Anatomy of a Tree\n",
|
60 | 60 | "\n",
|
|
70 | 70 | "- The *ancestors* of a value are its parent, the parent of its parent,\n",
|
71 | 71 | " etc.\n",
|
72 | 72 | "\n",
|
73 |
| - "\n", |
| 73 | + "\n", |
74 | 74 | "\n",
|
75 | 75 | "## Tree Traversal Methods\n",
|
76 | 76 | "\n",
|
|
97 | 97 | "\n",
|
98 | 98 | "**Result: 4 2 5 1 6 3**\n",
|
99 | 99 | "\n",
|
100 |
| - "\n", |
| 100 | + "\n", |
101 | 101 | "\n",
|
102 | 102 | "## DFS: Inorder Traversal Code\n",
|
103 | 103 | "\n",
|
|
201 | 201 | "\n",
|
202 | 202 | "Preorder traversal is used to create a copy of the tree\n",
|
203 | 203 | "\n",
|
204 |
| - "\n", |
| 204 | + "\n", |
205 | 205 | "\n",
|
206 | 206 | "## DFS: Postorder Traversal\n",
|
207 | 207 | "\n",
|
|
215 | 215 | "\n",
|
216 | 216 | "Preorder traversal is used to delete subtrees. (why?)\n",
|
217 | 217 | "\n",
|
218 |
| - "\n", |
| 218 | + "\n", |
219 | 219 | "\n",
|
220 | 220 | "## BFS\n",
|
221 | 221 | "\n",
|
|
236 | 236 | "\n",
|
237 | 237 | "**Result: 1 2 3 4 5 6**\n",
|
238 | 238 | "\n",
|
239 |
| - "\n", |
| 239 | + "\n", |
240 | 240 | "\n",
|
241 | 241 | "# Binary Search Trees\n",
|
242 | 242 | "\n",
|
|
269 | 269 | "\n",
|
270 | 270 | " - So if the tree was balanced, then it would be $O(\\text{log}n)$\n",
|
271 | 271 | "\n",
|
272 |
| - "\n", |
| 272 | + "\n", |
273 | 273 | "\n",
|
274 | 274 | "## BST Efficiency\n",
|
275 | 275 | "\n",
|
|
287 | 287 | "\n",
|
288 | 288 | "Given a BST, insert a new node in this BST.\n",
|
289 | 289 | "\n",
|
290 |
| - "\n" |
| 290 | + "\n" |
291 | 291 | ]
|
292 | 292 | },
|
293 | 293 | {
|
|
321 | 321 | "\n",
|
322 | 322 | " - A node connected to another is a *neighbor*\n",
|
323 | 323 | "\n",
|
324 |
| - "\n", |
| 324 | + "\n", |
325 | 325 | "\n",
|
326 | 326 | "## Types of Graphs\n",
|
327 | 327 | "\n",
|
|
341 | 341 | "There are two questions we ask about graphs: Is there a path from node A\n",
|
342 | 342 | "to B? What is the shortest path from node A to B? BFS answers both!\n",
|
343 | 343 | "\n",
|
344 |
| - "\n", |
| 344 | + "\n", |
345 | 345 | "\n",
|
346 | 346 | "## BFS of Graphs\n",
|
347 | 347 | "\n",
|
|
376 | 376 | "\n",
|
377 | 377 | "Queue: \\[ , , , , \\]\n",
|
378 | 378 | "\n",
|
379 |
| - "\n", |
| 379 | + "\n", |
380 | 380 | "\n",
|
381 | 381 | "## BFS Example\n",
|
382 | 382 | "\n",
|
|
387 | 387 | "\n",
|
388 | 388 | "Queue: \\[1, , , , \\]\n",
|
389 | 389 | "\n",
|
390 |
| - "\n", |
| 390 | + "\n", |
391 | 391 | "\n",
|
392 | 392 | "## BFS Example\n",
|
393 | 393 | "\n",
|
|
402 | 402 | "\n",
|
403 | 403 | "Queue: \\[3, 6, , , \\]\n",
|
404 | 404 | "\n",
|
405 |
| - "\n", |
| 405 | + "\n", |
406 | 406 | "\n",
|
407 | 407 | "## BFS Example\n",
|
408 | 408 | "\n",
|
|
414 | 414 | "\n",
|
415 | 415 | "Queue: \\[6, 10, , \\]\n",
|
416 | 416 | "\n",
|
417 |
| - "\n", |
| 417 | + "\n", |
418 | 418 | "\n",
|
419 | 419 | "## BFS Example\n",
|
420 | 420 | "\n",
|
|
426 | 426 | "\n",
|
427 | 427 | "Queue: \\[10, 7, , \\]\n",
|
428 | 428 | "\n",
|
429 |
| - "\n", |
| 429 | + "\n", |
430 | 430 | "\n",
|
431 | 431 | "## BFS Example\n",
|
432 | 432 | "\n",
|
|
439 | 439 | "\n",
|
440 | 440 | "Queue: \\[7, , , , \\]\n",
|
441 | 441 | "\n",
|
442 |
| - "\n", |
| 442 | + "\n", |
443 | 443 | "\n",
|
444 | 444 | "## BFS Example\n",
|
445 | 445 | "\n",
|
|
451 | 451 | "\n",
|
452 | 452 | "Queue: \\[ , , , , \\]\n",
|
453 | 453 | "\n",
|
454 |
| - "\n", |
| 454 | + "\n", |
455 | 455 | "\n",
|
456 | 456 | "## Time and Space Complexity of BFS\n",
|
457 | 457 | "\n",
|
|
0 commit comments