Introduction week 1 Flashcards
define algorithm
the steps to correctly perform a task that answers a general computational problem
define data structures
the ways to store the information needed for the algorithim
examples of types of data strcutres
array
linked list
hash table
binary tree
examples oftypes of confidence testing for programs
unit testing
integration testing
validation
user testing
why is run time on one laptop not a great measure of program efficiency
different laptops differ in speeds
when in run time on one laptop a good measure of program efficiency
for trying different approaches to the same problem on the one machine
why is measuring how long the fastest or slowest computer takes to run the program a bad test for efficiency
computers are always changing
why is measuring how long it takes for the program to run with the largest input/smallest input a bad way to test efficiency
run time varies on input size, so this will tell you very little about the everyday running of the program
what is the best way to judge efficiency
scalability
memory needed
what is scalability
changing the input size into the program and seeing how long it take
what is constant running time
when the input is doubled, the program takes the same amount of time to run
what is linear running time
when the input is doubled, the program takes twice as long to run
what is constant memory space
when the input size is doubled, the program needs the same amount of memory to run
what is linear memory space
when the input size is doubled, the program needs double the amount of memory to run