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. To modify the order of a set of elements so that a desired ordering holds between them - e.g. alphabetic order






2. Constructed of multiple components (simple or complex types)






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






4. A contiguous block of memory containing elements of the same type - accessed by numeric index






5. A description of the state of a process such as a board game






6. A node of a tree that has children






7. A case where a program calls itself






8. 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






9. 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






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






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






12. To combine two ordered linear structures into one






13. 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?"






14. Any effect of a procedure other than returning a value - e.g. printing or modifying a data structure






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






16. 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






17. A sequence of clear and precise step-by-step instructions for solving a problem in a finite amount of time






18. Describes a data structure or device in which all accesses have the same cost - O(1)






19. A process that removes unwanted elements from a collection






20. A linked list in which each elements has both forward and backward pointers






21. A data structure representing a sequence of items - which are removed in the same order as they were inserted.






22. 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






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






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






25. A formal description of a language in terms of vocabulary and rules for writing phrases and sentences






26. Describes a function that makes a new data structure but does not modify its arguments






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






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






29. The area of program text over which a variable can be referenced






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






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






32. 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






33. 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






34. The next element in a linked list






35. The process of collecting garbage for recycling






36. 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






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






38. A data structure that can be identified at runtime as being a member of a class






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






40. Composed of individually named data fields






41. A variable containing the address of other data






42. Describes a data structure that cannot be changed once it has been created - such as Integer or String in Java






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






44. All nodes below a give node in a tree






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






46. A pointer to data






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






48. The top node of a tree - from which all other nodes can be reached






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






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