Getting Digital

Algorithms Data Structures in Java #2 (+INTERVIEW QUESTIONS)

Develop essential programming & development skills with expert instruction and practical examples.

Online Course
Self-paced learning
Flexible Schedule
Learn at your pace
Expert Instructor
Industry professional
Certificate
Upon completion
What You'll Learn
Master the fundamentals of programming & development
Apply best practices and industry standards
Build practical projects to demonstrate your skills
Understand advanced concepts and techniques

Skills you'll gain:

Professional SkillsBest PracticesIndustry Standards
Prerequisites & Target Audience

Skill Level

IntermediateSome prior knowledge recommended

Requirements

Basic understanding of programming & development
Enthusiasm to learn
Access to necessary software/tools
Commitment to practice

Who This Course Is For

Professionals working in programming & development
Students and career changers
Freelancers and consultants
Anyone looking to improve their skills
Course Information

About This Course

This course is about data structures and algorithms. We are going to implement the problems in Java, but I try to do it as generic as possible: so the core of the algorithms can be used in C++ or Python. The course takes approximately 12 hours to complete.

I highly recommend typing out these data structures several times on your own in order to get a good grasp of it. Section 1 - Trieswhat are prefix trees (tries)basics operations: insertion, sorting and autocompletelongest common prefix problemprefix trees applications in networking (IP routing)Section 2 - Ternary Search Treeswhat is the problem with tries. what are ternary search treesbasic operations: insertion and retrievalapplications of tries (IP routing and Boggle Game)Section 3 - Substring Search Algorithmssubstring search algorithmsbrute-force substring searchZ substring search algorithmRabin-Karp algorithm and hashingKnuth-Morris-Pratt (KMP) substring search algorithmSection 4 - Stringsstrings in Java programmingwhat is the String Constant Pool.

prefixes and suffixeslongest common prefix problemlongest repeated substring problemsuffix tries and suffix arraysSection 5 - Sorting Algorithmsbasic sorting algorithmsbubble sort and selection sortinsertion sort and shell sortquicksort and merge sortcomparison based and non-comparison based approachesstring sorting algorithmsbucket sort and radix sortSection 6 - Data Compression Algorithmswhat is data compressionrun length encodingHuffman-encodingLZW compression and decompressionSection 7 - Algorithms Analysishow to measure the running time of algorithmsrunning time analysis with big O (ordo), big Ω (omega) and big θ (theta) notationscomplexity classespolynomial (P) and non-deterministic polynomial (NP) algorithmsO(1), O(logN), O(N) and several other running time complexitiesFirst, we are going to discuss prefix trees: modern search engines for example use these data structures quite often. When you make a google search there is an autocomplete feature because of the underlying trie data structure. It is also good for sorting: hashtables do not support sort operation but on the other hand, tries do support.

Substring search is another important field of computer science. You will learn about Z algorithm and we will discuss brute-force approach as well as Rabin-Karp method. The next chapter is about sorting.

Provider
Udemy
Estimated Duration
10-20 hours
Language
English
Category
Technology & Programming

Topics Covered

Programming & Development

Course Details

Format
Online, Self-Paced
Access
Lifetime
Certificate
Upon Completion
Support
Q&A Forum
Course Details
Ready to get started?

View pricing and check out the reviews. See what other learners had to say about the course.

Get started and enroll now
Money-back guarantee might be available
Join thousands of students

This course includes:

Lifetime access to course content
Access on mobile and desktop
Certificate of completion
Downloadable resources

Not sure if this is right for you?

Browse More Programming & Development Courses

Continue Your Learning Journey

Explore more Programming & Development courses to deepen your skills and advance your expertise.

Front-end developmentFocuses on the user interface and user experience of a website or application. It involves creating...
If you are someone who eager to:Learn about the most popular and the best flexible language.Learn this versatile languag...