Test your basic knowledge |

Data Structures

Subject : it-skills
Instructions:
  • Answer 50 questions in 15 minutes.
  • If you are not ready to take this test, you can study here.
  • Match each statement with the correct term.
  • Don't refresh. All questions and answers are randomly picked and ordered every time you load a test.

This is a study tool. The 3 wrong answers for each question are randomly chosen from answers to other questions. So, you might find at times the answers obvious, but you will see it re-enforces your understanding as you take the test each time.
1. A type in which variables of that type are pointers to objects. in the code integer i = 3 - the variable i holds a pointer to the integer object that contains the value. in in j = 3 - the variable j contains the value. in java - only reference types






2. Separation of the properties of a data type from its implementation






3. A case where a program calls itself






4. All nodes below a give node in a tree






5. 1. In lisp - the function that constructs a pair of points - or basic elements of list structure. 2. To make a cons data structure 2. a cons data structure






6. A data structure that implements a complete binary tree within an array - such that every parent node has a value that is less than the value of either of its children






7. First in first out: describes ordering of a queue






8. In a search tree - a program that changes a state into a child state e.g a move in a game






9. storage that is no longer pointed to by any variable and therefore can no longer be accessed






10. The amount of space on the runtime stack required for execution of a program






11. A problem-solving strategy in which a problem is broken down into sub-problems - until simple subproblems are reached






12. A search in which children of a node are considered before siblings are considered






13. In a tree - a node that points to a given node






14. A description of operations on a data type that could have multiple possible implementations






15. A list of pairs - where each pair has a key and a value associated with the key






16. An item (or description of items) being sough in a search






17. A stack containing a stack frame of variable value for each active invocation of procedure






18. A pointer to the next element in a linked list






19. Container for storing a collection of data in unique key/value pairs






20. A number that is defined as an object so that it has a runtime type and methods that can be used - e.g. Integer in Java






21. A problem whose solution requires a linear amount of time or space if the problem is size n






22. A collection of objects that are inserted and removed according to the LIFO principle






23. A problem that is so hard that it cannot be solved unless the problem is small






24. A case where tow data structures share some elements






25. In object oriented programming - a description of a set of similar objects






26. A classification of objects into a tree structure that groups related objects






27. An abstracted function that describes the amount of computer time or memory space required by an algorithm - as a function of problem size. for problems larger than a certain size - the actual time or space required will be less than the Big O multip






28. Given two sets - the intersection is the set of elements that are members of both sets






29. A linked list in which the last element points back to the first element






30. A function whose value either does not involve a recursive call - or is exactly the value of a recursive call






31. o(n^2) - a problem whose solution requires a quadratic amount of time or space if the problem is of size n






32. An ordering that can be guaranteed to terminate - e.g. starting at a positive integer and counting down






33. A pointer to data






34. Implementation of complex ADTs. Physical representation of how data is stored - organized - and manipulated






35. A section of the runtime stack holding the values of all variables for one invocation






36. Describes a function that modifies its arguments






37. A queue implemented within an array - where the first elements of the array logically follows the last elements






38. Use of a function or method without knowing how it's accomplished






39. An order of processing a tree in which the parent node is processed before its children






40. A condition of the input data where the data will be handled by call(s) to the same program






41. To answer the question - "If the algorithm is run several times - what is the average time per run - given the worst possible sequence of runs?"






42. A pattern that describes a set of similar programs






43. binary tree that is ordered such that each node has contents - and all of its left descendants are less than the contents - an all of its right descendants are greater than the contents






44. A description of the kinds of objects that exist in a computer program - e.g a Java class hierarchy






45. Composed of a collection of data values; implemented with a data structure






46. A simple case that can be solved easily - without recursion






47. In a search tree - the number of children of a given node. often - the branching factors of individual nodes will vary - so an average value may be used






48. To combine two ordered linear structures into one






49. A sequence of records - where each record contains a link to the next one






50. To convert from a pointer to the data that is pointed to