ఇప్పటివరకు data ను lines లో చూశాం - arrays, linked lists, stacks, queues అన్నీ items ను sequence లో arrange చేస్తాయి. కానీ నిజ ప్రపంచం linear కాదు. Family trees శాఖలుగా విస్తరిస్తాయి. Social networks webs ఏర్పరుస్తాయి. Road maps interconnected routes create చేస్తాయి.
Trees మరియు graphs ఈ సంబంధాలను capture చేస్తాయి - AI యొక్క అత్యంత శక్తివంతమైన techniques కి వీటే హృదయం.
Tree లో ప్రతి item (node) child nodes కలిగి ఉండవచ్చు, hierarchy ఏర్పరుస్తూ. పై భాగంలో root అనే special node, children లేని nodes ను leaves అంటారు.
CEO
/ \
CTO CFO
/ \ \
Dev1 Dev2 Accountant
Binary tree ప్రతి node ని గరిష్టంగా రెండు children కి restrict చేస్తుంది - left child మరియు right child. ఈ సరళ constraint శక్తివంతమైన algorithms enable చేస్తుంది.
8
/ \
3 10
/ \ \
1 6 14
Binary search tree ఒక rule add చేస్తుంది: ప్రతి node కి, left subtree లో అన్ని values చిన్నవి, right subtree లో అన్ని values పెద్దవి.
ఇది searching వేగవంతం చేస్తుంది - ప్రతి node వద్ద, left కి వెళ్ళాలో right కి వెళ్ళాలో తెలుస్తుంది:
Find 6 in the BST above:
Start at 8 → 6 < 8, go left
At 3 → 6 > 3, go right
At 6 → Found it!
Sign in to join the discussion
Time complexity: balanced tree కి O(log n) - sorted array పై binary search అదే logarithmic magic.
10,00,000 nodes ఉన్న balanced binary search tree లో value కనుగొనడానికి సుమారు ఎన్ని comparisons అవసరం?
Graph hierarchy constraint తీసివేసి trees ను generalize చేస్తుంది. Nodes (vertices) మరియు edges (nodes మధ్య connections) తో ఉంటుంది. Edges:
Social network (undirected):
Alice - Bob - Charlie
\ |
Diana - Eve
Road map (weighted, directed):
London →(2h)→ Birmingham →(1.5h)→ Manchester
Facebook social graph లో 3 billion nodes (users) మరియు వందల billions edges (friendships) ఉన్నాయి. Graph algorithms News Feed, friend suggestions, మరియు ad targeting నిర్ణయిస్తాయి - ఇప్పటివరకు నిర్మించిన అతిపెద్ద graphs లో ఒకటిపై run అవుతాయి.
అత్యంత interpretable AI models లో ఒకటి decision tree. Data classify చేయడానికి yes/no ప్రశ్నల series అడుగుతుంది:
Is temperature > 30°C?
├── Yes: Is humidity > 70%?
│ ├── Yes: "Don't play tennis"
│ └── No: "Play tennis"
└── No: Is it windy?
├── Yes: "Don't play tennis"
└── No: "Play tennis"
Decision trees popular ఎందుకంటే మానవులు చదివి అర్థం చేసుకోగలరు - healthcare, finance, legal AI లో explainability ముఖ్యమైన చోట crucial.
Hospital AI తో patient risk predict చేస్తుంది. Regulators AI తన decisions explain చేయమని require చేస్తారు. Neural network slightly more accurate అయినా decision tree ఎందుకు prefer చేయవచ్చు?
Random forest వందల decision trees build చేస్తుంది, ప్రతిదాన్ని data subset పై train చేసి, తర్వాత vote తీసుకుంటుంది. ఈ ensemble approach ఒకే tree కంటే accurate మరియు robust.
Knowledge graph entities మధ్య relationships గా facts store చేస్తుంది:
(London) --[capital_of]--> (United Kingdom)
(London) --[located_in]--> (England)
(Big Ben) --[located_in]--> (London)
Google Knowledge Graph search results లో information panels power చేస్తుంది.
Netflix, Spotify, Amazon users మరియు items ను graph గా model చేస్తాయి. Users A మరియు B items X, Y like చేసి, user A item Z కూడా like చేస్తే, graph Z ని user B కి suggest చేస్తుంది - collaborative filtering.
Social networks model చేయడానికి simple lists కంటే graphs ఎందుకు మెరుగు?
DFS ఒక path వెంట సాధ్యమైనంత దూరం explore చేసి, తర్వాత backtrack చేస్తుంది. Maze లో ఎల్లప్పుడూ ఎడమ turn తీసుకోవడం లాగా - dead end వచ్చే వరకు, తర్వాత వెనక్కి.
A
/ \
B C
/ \ \
D E F
DFS order: A → B → D → E → C → F
DFS stack వాడుతుంది (recursion ద్వారా naturally, లేదా explicitly).
BFS ప్రస్తుత depth లో అన్ని neighbours explore చేసి, తర్వాత deeper కి వెళ్తుంది. నీటిలో రాయి వేసినప్పుడు ripples ఎలా బయటికి spread అవుతాయో అలాగే.
A
/ \
B C
/ \ \
D E F
BFS order: A → B → C → D → E → F
BFS queue వాడుతుంది. Shortest path, social network analysis, web crawling కి ideal.
గమనించారా - గత lesson నుండి stacks మరియు queues tree మరియు graph traversal కి ఎలా connect అవుతాయో? DFS stack వాడుతుంది; BFS queue వాడుతుంది. Data structures ఒకదానిపై ఒకటి build అవుతాయి.
అన్ని roads ఒకే పొడవు ఉన్న map లో రెండు cities మధ్య shortest route కనుగొనాలి. ఏ traversal వాడాలి?
Social media platforms "degrees of separation" measure చేస్తాయి - ఇద్దరిని connect చేసే friend-of-friend hops ఎన్ని. తక్కువ hops efficiently కనుగొనడానికి ఏ traversal algorithm వాడాలి?
Google PageRank algorithm - Google ను dominant చేసిన original breakthrough - web ను graph గా model చేస్తుంది. ప్రతి web page node, ప్రతి hyperlink directed edge, page importance ఎన్ని important pages link చేస్తాయో ద్వారా నిర్ణయమవుతుంది.