0 ratings0% found this document useful (0 votes) 11 views14 pagesAdvance Algorithm UNIT-1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
DAvorieed Maoritbrns
unite
+ Sorting +4, fy,
Thing : }Review of Vays ou thing Mayor bry
a '
lopological Sorting
\ Graph {°
Melati
— on and te Mert ty Nlavtithrns .
Shovte «A path by Be
2 Shostest path in ede
3 Depth hist sear t Computation 5
Strongly Connected earnperh wls
“: Umphasis M Cobreckne cc
Arroot of
ae ear ithr and -linne
Example 4 amotized analy si r
‘
Answers
1. Review 9) Vatious Sorting Nlaerithms.
ws Two- Based Sorting A\ qosithrs
I. Comparis ion- Based Sorting Niqorithm s
2- Non. Comparision- Based Sorting Alqqorithrns
CBSA. - BS Types
ae
4. Bubble Soils Simple, but inefficient for large
datasets Co CN2))
«Best case Ceorted) + O(n)
Fp Average [ worbt case! O(y)
« Space Complexity : 0 (4)
+ Ctable + Yes
sacept : - Repeatecly swaps ad
they ave in Lhe wrong ordes
Je Weighted case/ bij est
» @rnphas:9» Selection Shel f+ Girnilar do bubble so
Oo | , nh he
ligt Lo irnpioveraent (Col 2) Rel
6 Time Corpplenity © OCC”) in all cases PP
: Space Cornplerrity OC)
+ Stable +> No
t Cor lazaest)
ee
Concept Selects the Crrallest
Z. Insectivo sort: -
dota cee ay creel dotaseAs o+ pearly Suited
ee Wort Case). 7 i
» Best case Crearly Sorted’) : On’)
: verge | worst case : O(N)
« Space Complenity: OC!)
+ Stable : Yes.
concepe: Builds -lhe gorted list one ite
r. Merge Sorts
Dvide- and ~ Conquer OPppy cach, @
Aor Large datasets (ocn logo.
Lime. Compleriby + OCn Lo4 n)
+ Space Complexity * 0Cn)
» Gtable : Yes
Concept t- Divides array in hal
and ~enesges there.
\-f, Soak $ secussvely,
Bs Quick Sort:
East and efficient on Average. but can be O(r'
in worst case
¢ Best [Average case:
2 worst Case * ele)
« Space Compleaiby # oliog)
> Stable: NO
o(mloqr >non Com parision- Based Sorting —h Igorithros
1. Counting Sort:
Efficient Sor sroall integer Vanges (Colo+r))
Sime Complenity: On te :
of inpal : >, ee Sange
: Space Complenity : OC)
. Stable: Yes
2: Radin Sovt '-
Sorts integers ot Stings based On digits ot
Charactess COCM)).
Time complexity = OCME) (x = nurnbes of digits)
» Spaces O(n
+ Stable t” Yes.
ucke® Sovt:~ : ie
3. B pisteibutes elements into buckets and Soxts
each bucket Co Cate).
Table
——
Algorithm ime S pace Ctlabie
Bubble sort otn”) ou yes
ie oc N
Selettlor sont oo ? ) °
Ss
Fn sere Sovt oc™”) 0 Ue
Mev g¢ Sort ocnley”) oom) Yes
Quick sort otmleyry O(log) No
Heap Sort o(mleqr) ol) Fee
Counting sort 0Cntk> 90 ce> ues
Rodi Sort ome) = oCmtk) VES
Bucket Sort otntky otra oO yes‘ ‘Toy ological Cowlir 4 i
It is a (nneas Oude ving of the yerhers in a
divected qiagh Sach Chal fot every divected edge
wv, Verler UU Coroes before Vin the Ordesing
(hen eel eed +
JL 1s ec pplicable only “Lo Disected Aeyelic Gyre phe
Cpnas). 4 t's Comroooly Used ro 4 _
1. Vast Schedulin (ey. job Aeperdoncies J
9: Build Syslerns [e-qu Makefile)
4. COUTSE prevequisite planning
Enarople t-
yenGyvaph 2°
APPR ee
V
a -
One ‘possible 4 opological Sort Is
Alqorthres to pevforrn “lopologica) sort
| BES Based Algotibhm
Steps: -
Lb Compute me deqaee. fox all modes
a. Ndd all nodes With in- degree D toa qyeue -
3, While the queue is mot empty:
# Pop a Mode, add it to the ‘topologica) ordey
#¥ Decvease in- degree of is neighbors
+ Wa “nei ghiovs's in- degree becomes 0, add it la
the queue
2. OFS Based Algonthro:
Steps:
\. Pexform ‘DES Ay aversal
14,0, Fs 8,C,Dn veltning -frere tecursion Cost tides), add
the nobe loa Stacd
Reverse Ihe Stack at the end to 7 UL the Lopaley ia
Inde.
Pythor ‘Liane PFs -Npysoach '
{rom Collections tnpowt default dict
def Loplogical. Sonb. Afs Cqoaph>:
Visited = Seb CD
etack = CI
def afs (node) +
if mote im Visibed
sedan Visiled « add Crete)
An Neiqhbous in graph [:node] ‘|
Afs (Cn eighbor’)
eback: append Code)
for mote 19 graph:
i$ mode not in visited *
ats Cnoded
wetuon stack [t-
cH Taam pl
ayayh
ah : (8, ‘D'],
3 = a
in) C4,
Ds Gea:
eee
%
Print (topological Sort. AfsCaraph)
output : Case Sp aaph
Shortest path by BFS:-
To find the Shortest path in an yanwerghted
graph , You can Use BFS .
1 The Shovtesh path in teres 9 the number F edoe
Ayorn the Source +0 all other yeacheble vertices
BES Dlaprithm CShortert Path)
Steps:
1, Use a qucue to explore Nodes level by level
g. Track visited node tv Avoid Cycles
3 Use & parent dictionary +p secongtuct the path
once the target is Found -
Python :-
Asorn Collections Import deque
dct bis. shortest path (graph, start, target >:
Visited = Set)
queue = Aeque({ start)
Parent = { staat + None 3
while queue:
Current = Queue. poplett C2
Wh cuyyent = = targee :
path = CJ
Vobile Cusrent is hot None:
Path. append Ceurent)
Cuysent = parent (cuvtent }
Tetum path £2: -)
for neighbor in graph [cusren bY]:
HW neighbos pot in visited -
visited. add (neighsox
parent Cneighbor) = CuyoentFAucuwes append ( neighbor’)
gelurn Nore
tram ple
arene =e
eo
] : cs! es
f re re
Stout A
Touget 2}!
gaint CES Shortest Path Graph, Start, lane)
Output :
[yc ry,
©) Shortest qath in edge-werabted cove (Dieta)
Steps :-
I Use a priovity queue Cmin- heap) +0 always pick
the node with the Smallest distance
2: Maintain a distC I array that Stores the mininn Um
distance to each node.
3: Update distances foi eadk meighbos Ht a
Shor bey path is Sound,
4+ Stop when the Large mode is processedpython Amplementation (di ksteas )
Ave po yt heapa,
act Aijestea C araph Start, target):
dist = pede » float Cine’) fox eden quephy
dist (start] =0
parent = { Start | None y
pa = [los start)
while PA!
Curent dist, Nodes heapy: hee pep)
Womode =F target :
Path - CI
While mode is not Nome :
ath » append Cnode)
Mode = parent [rece]
seturn Ast [ target), path f--J
iE cusvent dist > dist (orede] + Continue
Continue
Jos neighbor, weight tm qvaph (redel :
epew- disk = Curent dist + weight
UW wmew. dist 2 diel [neighbor ;
dish [meighbox] = New-dist
Parent (meighbov'] = node
heapg. heappush Cpa. Crew alist, neighbor)
setan Noa Clint’) £4Unarmple
graph =f =
a cc uy)
WSEAS 2) 5 Ceo OP
G CCR, 49 iy
‘hOB ay, CED
ee eee pevea Dae liey)
Be tce', 37 €
4 2 N, €'
start, target = A) i Shel bere)
distance , pach £ dij stra (are .
punt ( shorkest aislance ty distance)
pint ( "bath es path)
Sect
Shortest Gistance * 6
path: Lal Bi, Sch, _
3) Depth Fast Search & Computing
DFS 16 @ fundamental algosithin tow exploring queks
ste dives deep alo a path before bac ktiac ting
DFS Basics
> patho;
Aut ats Casaph node ) Visited) +
visited. odd (node)
PM (mode, erd=\ ')
fo% Neighboa iH 97ePhL noted
Ue neighbor ot In visited!
ats Caaph, heighhor ) Visited)greys q
a Ce)
s (c'J
ie! twp]
yp fed,
‘eo fe]
' /fv)
f
5
vigiked = Set O)
Ais (graph, ws, sited)
0 Sttrmgly Cenmeteed com ponen*s (ces)
Connected Component in adisected
vet |
Qeph 1s c marimal Set verticy where each
yerter 16 Teachable rom every othey vertex in
that Set.
Steps:
|) Pevform PFs and Stove Nodes by Sinich time
. Push modes tr a Crack as they stinich
2° Reverse the graph
3. DES again In stack Order on eversed ayaph
» Each prs tive gives one SEEPIPnnUMnNNNTRrrren TrrTrTrrrrrrrrrrrrr rrrreererrnrrrsveeeeeeeeeaeeesese aeereeeeeeaneenIaE
Python ATrnplementalon.
Sir collections Woport detault dict
aed Fosaaajn—Sce (graph):
Me len C4raph)
Visittd = Set C)
Stack - £3
det afs4 Cnode) +
visited. add (node)
Sot Meighbe i gregh (node) :
Af neighbor snot In visited 5
Ags | Coerghbor)
Stack: appent (rede)
Sot mode. im graph +
iE mode snot in visited :
Agss Cnede)
cpeversed _ qe h 2 Aelaultdict Cust)
for Yin gia
fos Vin graph lod:
veverseal graph (va: apped (4)
visited. Cleas CD
ecese 3 :
ach abs > Cnede, component >:
visikeds add Crode) A
ompaant + append Cede)
FoF MejqrboiD
yever sea graph [model
ye naghbes nob iw Visited *
At sa (neighbor, componentwhile Slack:
Made = Stach. pop
made mod in visited:
Cornponent = C4
Afton (rede ) cornponen’.)
Sees. append (component)
yetun Secs
Eranpple t-
Greph= {
Satie { 85
oF
yoy
at
a
ui
O_
VU
a TO
vow
a
wr
eS
5
Sees = Fosaraju— Sec (graph *S
print C'shongly Connected Components? "s ces)
Output Hal i ,
: \) vy
sec: (Tp, Fe) (rR ,¢
B17Tmphasis 00 cotreclress Poot of the alge bbe
idl tire / space Praliysis.
_ Correctness Proof + -
A Pacef that the algorithm alrays we the
right vesult tos all valid inpuls
Steps «
GH Loop invariant Method (for iterate algorithms)
+ Initialization Show the invariant 15 tue before
the loop Starts
7 Mamlenance Show rt Slatys biue after each
itera tien
+ Termination :- Show that When -the loop ends,
the iwvartant ensuret the correct veut
(") Anduction Clot secursive algorithrns ) ¢
« Base case : Prove the function works foy a Sirnple inpal
Coflen m0 ob N=).
+ Anductive Stept-Accume if Works for ner and
Prove jt wovts foxy ne‘ +]
in) Combadicbor oy Gyedy~ choice “proply.
+ Show thet any Optimal gdubon must elude the
Choice trade by the algorithin ,
2. Time Completiby Analysis
4) Goal: Determine how the runtime grows Wath
\npud size.
8) Wypes
Worst-Case ¢ Mak turbine Oves all mpuls of Size» Best-case: Min suntime
Average - Case ‘ Expected Xuntime Ovex all Uhpels,
c) Common “lools + -
~ Count number g operations tin lens Q
» Use Pig-0- notation tp decribe asymptotic Upperbou
* Constant + 00D
, Logaaithrnic . oCloqn)
© Linear ocr)
* Lineatithmic s on log n)
+ Quadtatic $ OCD) ete
Space Compleni Ey Analysis Ll
A Goats Measure extra memory used
B Cosiduations :-
. A uriliary Storage (eq: TEU SION Hack)
. dn- place algosithorns use Conctant oi) exba
Ss pace.