diff --git a/04. Trees and graphs/README.md b/04. Trees and graphs/README.md
index 7865b57..23e70f2 100644
--- a/04. Trees and graphs/README.md
+++ b/04. Trees and graphs/README.md
@@ -152,7 +152,7 @@ There are two key operations in min-heap, `insert` and `extract_min`.
We always start by inserting the element at the bottom. We insert at the rightmost spot so as to maintain the complete tree property. Then, we 'fix' the tree by swapping the new element with its parent, until we find an appropriate sport for it. We bubble up the minimum element. This takes O(logn), where n = number of nodes in the heap.
-{width="600"}
+
### 3.2. Extract minimum element
@@ -160,7 +160,7 @@ The minimum element at a min-heap is always at the top. Another matter is how to
Do we swap it with the left child or the right one? Depending on their values, there's no inherent ordering between the left and right elem, but we need to take the smaller one in order to maintain the min-heap ordering. This also takes O(logn) time.
-{width="600"}
+
## 4. Tries (prefix trees)
@@ -170,7 +170,7 @@ The actual implementation of these * nodes can be a special type of child, like
A node in a trie can have anywhere from 1 through `alphabet_size + 1` children.
-{width="300"}
+
Commonly, a trie is used to store the entire (english) language for quick prefix lookups. While a hash table can quickly look up whether a string is a valid word, it can't tell if a string is a prefix of any valid words.