Skip to main content

Topics to Start - preparing for Data Structures and Algorithms


Learn in a different way :-


  1. Strings
  2. stacks and queues
  3. heaps
  4. searching
  5. hash table
  6. sorting
  7. recursion
  8. dynamic programming
  9. greedy algorithms
  10. graphs
  11. tree
  12. Binary Search Tree
  13. Linked List
  14. Array
  15. Parallel programming and concurrency
  16. design problems
  17. system design
  18. availability and scalability 
Below topics are good to have
  1. object oriented programming
  2. language details ( java , python)
  3. object oriented design
  4. tools ( bash , git , maven , jira , jenkins , docker , kubernetes)
  5. database

Comments

.

Popular posts from this blog

Deleting a Node by passing data in LInkedList

Deleting a Node by passing data in LInkedList:- The node can be deleted by passing the data value in a function.Here we have three pointers one to traverse the list other to point current node and third one to point previous of current node. //deleting a given key public Node deleteKeyNode ( Node head , int key ) { //traverse pointer Node temp = head ; //previous pointer Node prevtemp = temp ; while ( temp != null ) { //when key is at head position if ( key == head . data ) { head = head . next ; System . out . println ( "head is deleted" ); return head ; } //when key is at any position other than head if ( temp . data == key ) { prevtemp . next = temp . next ; temp . next = null ; temp = prevtemp ; } prevtemp = temp ; temp = temp . next ; } return head ; }

Career in software engineering : Roles to know

when someone starts a career in software engineering there are plenty of options. Although most graduates have the same degree, everyone starts in a different role. Developer / Coder - Engineers in this role get a chance to actually implement and write software. At the start of a career mostly it is about fixing defects in existing software then taking small changes to the software and eventually getting to the point to handle and implement more complex changes.  Quality analysts / Quality engineers - Engineers in this role test and automate software. This is a challenging role where one has to know about the full functionality of the software and test accurately so the software built is of high quality. This role also involves the automation of test cases and preparing a test suite that can be run and detect issues automatically. Release Engineers - Once the software is built and tested release engineers are responsible for pushing a set of code to production. A production is a ...