Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Data structures & problem solving using Java

    Data structures & problem solving using Java

    Mark Allen Weiss · 1998

    Computer ScienceProgramming
    Open LibraryAmazon
    Stats for nerds
    1recommend
    2mentions
    2people
    2018–2025years
    50% recommend50% neutral

    Mentions per year

    20182019202020212022202320242025

    What Hacker News says

    1. oneplaneNov 2018
      One (relatively) easy way to get better at it is combining a book and some real world uses with a project and a language suited for it.

      For example, you could take python or java (or C#, pretty much any general OOP language), and make a simple crud application. Then add a "reporting" page where you can see different results on for example uses of trees, sorting algorithms or storage data structures (like linked lists, hash maps etc). The crud part can be your familiar part where you have a good feel of what's what, and the report/test/whatever page can be your sandbox to see how your experiments deal with your data.

      One of the books I found helpful was Data Structures and Problem Solving Using Java by Mark A. Weiss.

      A softer start can be found with http://interactivepython.org/runestone/static/pythonds/index...

      If you want something using languages you already know, that's fine too. Say for example you wanted to simply know how to build a tree, or more generally a graph. Those concepts may sound big or complex, but they are only as big or as complex as you want them to be allowing you to build a simple version (i.e. a class that is a node in a linked list, and it holds just a number as a value and the next node for your list as a pointer or value or whatever you like). It's something you could do in 10 lines of code just to get yourself started. Building on top of that is a whole lot easier than jumping straight into AVL trees and A* path finding algorithms.

      Starting light, say, making a few things yourself in a language of your choice will get you a good feel as to what you want to explore and how easy it is to grasp the concepts, for example:

      - linked lists and doubly linked lists

      - binary trees (binary doesn't mean binary data, don't worry)

      - sorting (check quicksort, shellsort, bubblesort on wikipedia for starters to get an animation for an idea what it is)

      - heap

      - stack

      - (priority-) queue

      thread
    2. ndiddyJul 2025
      Sure, why not. Obviously if you mean "do you have an example of that exact class hierarchy being shown in an introductory Java textbook" no I don't, you win. However, the example of a program that uses a class inheritance hierarchy defined at compile time to represent all the different types of shapes it can operate with is used all over the place, and that's what I was referring to. Some examples:

      Introduction to Programming in Java by J. N. Patterson Hume and Christine Stephenson, page 392

      Object-oriented Programming with Java by Barry J. Holmes and ‎Daniel T. Joyce, page 544

      Understanding object-oriented programming with Java by Timothy Budd, page 304

      Teach yourself Java by Joseph O'Neil, page 184

      Java in a Nutshell by Benjamin J. Evans, page 128

      Java for Students by Douglas Bell and Mike Parr, page 490

      Data structures and problem solving using Java by Mark Allen Weis, page 84

      See here for a good article that goes over the downsides of this approach, and how it hurts both readability and performance: https://www.computerenhance.com/p/clean-code-horrible-perfor...

      thread

    Related

    Cover of Data structures and algorithms in Java
    2008–2022

    Data structures and algorithms in Java

    Adam Drozdek
    3 recommend · 8
    Cover of Effective Java
    2007–2026

    Effective Java

    Joshua Bloch
    172 recommend · 287
    Cover of Data structures and algorithm analysis
    2007–2017

    Data structures and algorithm analysis

    Mark Allen Weiss
    3 recommend · 6
    Cover of A practical guide to data structures and algorithms using java
    2016–2018

    A practical guide to data structures and algorithms using java

    Sally A. Goldman
    1 recommend · 3
    Cover of Introduction to Java Programming
    2014–2024

    Introduction to Java Programming

    Y. Daniel Liang
    4 recommend · 6
    Cover of Introduction to Algorithms
    2007–2026

    Introduction to Algorithms

    Thomas H. Cormen
    274 recommend · 880
    Cover of Data Structures And Algorithms With Javascript
    2014–2017

    Data Structures And Algorithms With Javascript

    Michael McMillan
    1 recommend · 2
    Cover of Java
    2008–2022

    Java

    Herbert Schildt
    2 recommend · 3