Remove Duplicates from an unsorted Linked list. | Algorithms



Remove Duplicates from an unsorted Linked list. | Algorithms

Objec­tive: Write a pro­gram to remove the dupli­cates from an unsorted linked list

Exam­ple:

Input Linked List : 1->2->2->4->3->3->2
Out­put : 1->2->4->3

Input: An unsorted linked list

Out­put: Linked list with no duplicates.

Approach:

    • Cre­ate a Hash Table
    • Take two point­ers, pre­vN­ode and CurrNode.
    • Pre­vN­ode will point to the head of the linked list and cur­rN­ode will point to the head.next.

  • Now nav­i­gate through the linked list.
  • Check every node data is present in the HashTable.
  • if yes then delete that node using pre­vN­ode and currNode.
  • If No, then insert that node data into the linked list
  • Return the head of the list

Time Com­plex­ity : O(n)
Space Com­plex­ity : O(n)


Read full article from Remove Duplicates from an unsorted Linked list. | Algorithms


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts