Data structures are exactly what it sounds like. They are structures for holding data. Most data structures are represented with either a cell(http://3.bp.blogspot.com/-o0HXsxh1O-s/TzUzB7a0wlI/AAAAAAAAAZ0/OC03E2t_mBM/s1600/selection_sort_00.gif, example) or with circles often refereed to as nodes. (http://blog.cogswell.edu/wp-content/uploads/2011/04/binarysearch.gif). These structures drastically effect the performance. For example, choosing the wrong data structure in an search algorithm can often change the search time of n from nlogn to n^2. However, space can often just as important if not more important than speed.
A few common data structures are Linked Lists(The most common being Single linked List, double, and circular), Tree's(Binary Tree's, B-Tree's, Red-Black Tree's, 2-3 Tree's), Array's, Hash Tables, and Stacks.
Algorithms are logic that provides some change of state using data structures. Algorithms are generally designed being system and language independent and then are implemented to fit specification. The final result can often look very different then the initial rough draft.
Suggested Reading:
http://en.wikipedia.org/wiki/Linked_list
http://en.wikipedia.org/wiki/List_of_data_structures
A few common data structures are Linked Lists(The most common being Single linked List, double, and circular), Tree's(Binary Tree's, B-Tree's, Red-Black Tree's, 2-3 Tree's), Array's, Hash Tables, and Stacks.
Algorithms are logic that provides some change of state using data structures. Algorithms are generally designed being system and language independent and then are implemented to fit specification. The final result can often look very different then the initial rough draft.
Suggested Reading:
http://en.wikipedia.org/wiki/Linked_list
http://en.wikipedia.org/wiki/List_of_data_structures