WHAT ARE DATA STRUCTURES? WHAT ARE ALGORITHMS?
REVIEW OF JAVA AND OOP
ENCAPSULATION, INHERITANCE, POLYMORPHISM CLASSES METHOD INTERFACES
DATA STRUCTURES
In computer science, a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently. Different kinds of data structures are suited to different kinds of applications and some are highly specialized to certain tasks. For example, B-trees are particularly well-suited for implementation of databases, while compiler implementations usually use hash tables to look up identifiers. Data structures are used in almost every program or software system. Specific data structures are essential ingredients of many efficient algorithms and make possible the management of huge amounts of data, such as large databases and internet indexing services. Some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design.
ALGORITHMS
Objects interact with one another by performing actions (called methods). You as a programmer need to design these actions by giving instruction for how action is carried out. The hardest part of designing these actions is not figuring out how to express your solution in JAVA (or whatever programming language you are using). The hardest part is coming up with a plan or strategy that would allow an object to predict the direction of the stock market on a daily basis, then you could sell this strategy for a huge amount of money. On the other hand, the programmer who writes the java method who implements this strategy, while well paid, would not get nearly the same amount of money as you get for designing the basic strategy. Of course money paid is not necessary an indication of difficulty, but in this case it does pretty much indicate the difference in difficulty. In less dramatic settings, such as completing a basic programming assignment