You are on page 1of 2

23/09/2016

AshishKedia'sanswertoWhatalgorithmsshouldIknowtobecomeagoodprogrammer?Quora
AskorSearchQuora

AskQuestion

Read

Answer

Notifications

Raushan

WhatalgorithmsshouldIknowtobecomea
goodprogrammer?
imgoodatbasicsofprogrammingandmyproblemisthaticannotsolvealotofproblems
efficiently.pleaselistallpossiblemustknowalgorithmsthataprogrammershouldknow.

AshishKedia,CSundergrad.Programmingfor8yearsandcounting.
UpdatedJun21UpvotedbyJeffNelson,InventedChromebook,#Xoogler,PNVamshi,and
ArihantBinaykia

Iamassumingyouknowatleastoneprogramminglanguageandtheconceptofobject/
pointers.Iwillmentionalgorithmsanddatastructuresinincreasingorderofdifficulty.
FirststartwithLineardatastructuresandalgorithms.
Arrays
LinkedList
Stack
Queues
Thenmovetobasicalgorithms:
SortingMergeSort,InsertionSort,QuickSort,Numberofinversions
MatrixMultiplication(justknowthealgoifnotimplementit)
PrimeSieving
ModularMathincludingmultiplicationanddivision
EuclideanAlgorithmforGCD,ModularInverse,FastExponentiation
Fibonaccinumberwithmatrixmultiplication
Probabilitydistributionandexpectedvalue
StatsMean,Median,Variance,Bayestheorem
Theonecanlearnsomepopularalgorithmictechniques:
DivideandConquerBinarySearch,MaximumSubarray
GreedyAlgorithmsActivitySelection,Huffmanencoding
DynamicProgrammingMatrixChainMultiplication,Knapsack,
LinearProgrammingVariableMaximisation,Lineartimesorting
StringAlgorithmsManacher,LCS,EditDistance
Thencomessometypicalnonlineardatastructures:
TreesBinaryTree,GeneralTree,LowestCommonAncestor
BinarySearchTreeInorderTraversal,Levelordertraversal,findingkthlargest
element,diameter,depth,numberofnodes,etc.
HeapsArrayImplementation,Heapify,HeapSort
UnionFind
HashTableLinearProbing,Openaddressing,Collisionavoidance
ThenyoucanlearnaboutGraphs:
AdjacencyList,AdjacencyMatrix,WeightedEdgeGraphs
BasicTraversalalgosBreadthFirstSearch,DepthFirstSearch,etc
Upvote
2.5k
Downvote Comments 16+

https://www.quora.com/WhatalgorithmsshouldIknowtobecomeagoodprogrammer/answer/AshishKedia

1/3

23/09/2016

AshishKedia'sanswertoWhatalgorithmsshouldIknowtobecomeagoodprogrammer?Quora
ShortestPathFindingAlgorithmDijkstra,FloydWarshal,BellmanFord
AskQuestion
AskorSearchQuora
Read
Answer
MinimumSpanningTreeKruskal'sAlgo,Prim'sAlgo

Notifications

Raushan

Bythistimeyouarealreadyprettygoodwithprogramming.Youwilldobetterthanmost
ofundergradCSstudents.Ifyouwanttolearnmoreanddelvedeepreadmore.
AdvanceTreeandGraph:
BalancedTreesAVL,RedBlack
HeavyLightDecomposition,B+Trees,QuadTree
AdvanceGraphMinCut,MaxFlow
MaximumMatchingHall'sMarriage
HamiltonianCycle
EdgeGraphs/LineGraphs
StronglyConnectedComponents
DominantSubGraph,VertexCover,TravellingSalesmanApproxalgos
AdvanceStringAlgorithms:
KnuthMorrisPrattAlgorithm
RabinKarpAlgorithm
TriesandCompressedTries
PrefixTrees,SuffixTrees,SuffixAutomationUkkonenAlgorithm
AdvanceMath:
FastFourierTranformation
PrimalityTesting
ComputationalGeometryClosestpointpair,Voronoidiagram,ConvexHull
GeneralAdvancetopics:
Iteratingthroughallcombination/permutation
Bitmanipulation
75.1kViewsViewUpvotes

View16OtherAnswerstothisQuestion

AbouttheAuthor
AshishKedia
WebSolutionsEngineeratGoogle,Hyderabad,exInternatGoogleSF
12FollowersYouKnow
SumitVikrant,ShantanuGawande,BhuviJain,NareshRamesh,and8others
Google(company)
Intern2015,WebSolutionsEngineeratGoogle
NationalInstituteofTechnologyKarnataka(NITKSurathkal)
InformationTechnologyUndergrad@NITK,Batchof2016
Hyderabad,India
10.8manswerviews
544.7kthismonth
TopWriter
2016 2.5k
Upvote

Downvote Comments 16+

https://www.quora.com/WhatalgorithmsshouldIknowtobecomeagoodprogrammer/answer/AshishKedia

2/3

You might also like