CTCI Chapter 4 | Trees and Graphs | 叠黛



CTCI Chapter 4 | Trees and Graphs | 叠黛

13 九月 2015 九月 13, 2015 int checkHeight(TreeNode *root) { if (!root) return 0; int heightL = checkHeight(root->left); if (hrightL == -1) return -1; int heightR = checkHeight(root->right); if (hrightR == -1) return -1; if (abs(heightR - heightL) > 1) return -1; else return max(heightR, heightL) + 1; } bool isBalanced(TreeNode *root) { if (checkHeight(root) == -1) return false; else return true; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 int heightR = checkHeight(root->right); if (abs(heightR - heightL) > 1) return -1; else return max(heightR, heightL) + 1; }   else return true; }   4.2 Given a directed graph, design an algorithm to find out whether there is a route between two nodes. 4.3 Given a sorted (increasing order) array, write an algorithm to create a binary tree with minimal height.   4.4 Given a binary search tree, design an algorithm which creates a linked list of all the nodes at each depth (i.e., if you have a tree with depth D, you’ll have D linked lists).

Read full article from CTCI Chapter 4 | Trees and Graphs | 叠黛


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts