cis 200 final review

63
CIS 200 Final Review

Upload: ignatius-mendoza

Post on 01-Jan-2016

29 views

Category:

Documents


3 download

DESCRIPTION

CIS 200 Final Review. New Material. Sorting. Selection Sort. Repeated scan of list for smallest/largest value Each swap with item in correct spot Big O, N-1 Passes Probes – O(N^2) Data Movements – O(N). Insertion Sort. Like cards being one at a time - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CIS 200 Final Review

CIS 200 Final Review

Page 2: CIS 200 Final Review

New Material

Page 3: CIS 200 Final Review

Sorting

Page 4: CIS 200 Final Review

Selection Sort

Repeated scan of list for smallest/largest value Each swap with item in correct spot Big O, N-1 Passes

Probes – O(N^2) Data Movements – O(N)

Page 5: CIS 200 Final Review

Insertion Sort

Like cards being one at a time Array is split into 2 logical parts, sorted and unsorted On each pass, next item from unsorted walks (via swaps) to

correct position in sorted portion

Big O, N-1 passes

Best, Worst, Ave. cases Best – O(N) Worst – O(N^2), T(N) =1/2N^2 – 1/2N Avg – O(N^2), T(N) = 1/4N^2…

Page 6: CIS 200 Final Review

Merge Sort

Recursive

1.Divide list into 2 parts

2.Sort each part using recursion

3.Combine the 2 (now sorted) parts into one sorted list

Big O Best, Avg, Worst – O(N log2 N)

Page 7: CIS 200 Final Review

Quick Sort Partition is the key

Two approaches Dr. Wright’s Text, from E18.10, p. 745

Big O Worst case is when pivot is extreme value (min or max)

Already sorted list! O(N^2)

Best/Avg O(N log2 N) Really is twice as fast as merge sort on average

Page 8: CIS 200 Final Review

Data Structures

Page 9: CIS 200 Final Review

Linked List

Page 10: CIS 200 Final Review

Doubly Linked List

Page 11: CIS 200 Final Review

Doubly Linked List

Page 12: CIS 200 Final Review

Doubly Linked List

Page 13: CIS 200 Final Review

Queue

Page 14: CIS 200 Final Review

Queue

Page 15: CIS 200 Final Review

Stack

Page 16: CIS 200 Final Review

Stack

Page 17: CIS 200 Final Review

Binary Search Tree

How to add items Show a well-balanced BST – Add in this order: 9, 7, 12, 15, 2 Show a poorly balanced BST – Add in this order: 2, 7, 9, 12, 15

How to search Show Inorder traversal in BST

Page 18: CIS 200 Final Review

Traversals

Preorder Inorder Postorder

http://www.cs.cmu.edu/~adamchik/15-121/lectures/Trees/trees.html

Page 19: CIS 200 Final Review

Generics

Generic methods Generic classes

Page 20: CIS 200 Final Review

.NET Collections

Esp. Hash Table Collisions Bucket – Linked List Load Factor

Page 21: CIS 200 Final Review

Test 01 Material

Page 22: CIS 200 Final Review

Memory Management C, C++ - Have to “allocate” memory

Forgetting to “free” results in memory leaks

“Garbage Collector” Rounds up and “reclaims” memory Variables that drop out of “scope” will be collected

Temporary values inside methods reclaimed on method exit Generally uncontrolled by the developer

Page 23: CIS 200 Final Review

LINQLanguage Integrated Query

Perform Queries Against Objects, Data

Page 24: CIS 200 Final Review

LINQ Keywords

“from” - Data Source “where” – Filters the source elements with Boolean

expressions “select” – Choosing the data type to work with “group” – Groups results according to a desired key value “orderby” – Sorts the query results in ascending or

descending order based on a comparer “let” – Introduce a variable for query use Select new creates anonymous class as result set

Page 25: CIS 200 Final Review
Page 26: CIS 200 Final Review

Namespaces, Scope

Classes, often with common functionality, bundled together System.Console System.Collections.Generic System.Linq

Scope “private” – Can only be accessed by the class, object itself “protected” – Can only be accessed by the class, object, or any

child classes, objects “public” – Available access for all

Page 27: CIS 200 Final Review

ConstructorsC#, .NET compiler provides a ‘free’ constructor - Default

No parameters

When a new constructor is created, ‘free’ constructor goes awayConstructors can be “connected” with “this”

Page 28: CIS 200 Final Review
Page 29: CIS 200 Final Review

Interfaces Object used for creating “interfaces”, common code Classes “implement” an interface All methods, properties are “abstract” in an interface Objects that implement interface can be grouped

List<IPayable>

IPayable, IDisposable, etc

Page 30: CIS 200 Final Review
Page 31: CIS 200 Final Review

Inheritance

Classes with child or children classes Can be used to “share” common code properties Allows for “unique” objects, while reducing code Object -> Person -> Student Object -> Person -> Employee

Page 32: CIS 200 Final Review

Polymorphism

Override Virtual abstract

Page 33: CIS 200 Final Review

Inheritance - Keywords “abstract” – Methods marked MUST be overridden

Class declared with abstract prevents creation with “new”

“virtual” – Methods marked CAN be overridden Controls “how” other classes inherit information from the

class Private, protected, public – Used to control what is

inheritance

Page 34: CIS 200 Final Review
Page 35: CIS 200 Final Review
Page 36: CIS 200 Final Review

Casting Convert one type to another

Integer to String Decimal to Integer Byte to Integer

C#, .NET will know how to “box” and “unbox” types Decimal -> Object -> Integer

Remember back to the Person – Student relationship We can “cast” Person to Student both ways

Page 37: CIS 200 Final Review

Will compile,But will throw an

EXCEPTION at runtime

Will cast to student just fine

Page 38: CIS 200 Final Review

Exceptions and Exception Handling

Exceptions are… “Exceptional” events Unexpected events, errors during runtime Unhandled exceptions? Stack trace and application death

Handled with try/catch/finally blocks Try block “attempts” to run the code in question Catch block handles the exception(s) that may occur Finally block, optional, always executes

Page 39: CIS 200 Final Review
Page 40: CIS 200 Final Review
Page 41: CIS 200 Final Review

Vs. multiple catches

What order must the catch clauses appear?

Page 42: CIS 200 Final Review

Test 02 Material

Page 43: CIS 200 Final Review

Windows Forms, GUI Programming

Elements Textboxes Tab Groups Checkboxes Fields Menus Combobox

Event Handlers Visual Studio Designer

Page 44: CIS 200 Final Review

Event Handlers “Events” triggered by end user

Button Press Key Press Field Entry …other GUI modifications or events

Page 45: CIS 200 Final Review

Role of Delegates in Event Handling Sender? E?

Need examples

Page 46: CIS 200 Final Review

Files and Streams

Files Objects on Disks

Streams Data structure that exposes

Read Write Synchronous Asynchronous

Page 47: CIS 200 Final Review

Write to File

Page 48: CIS 200 Final Review

Read from File

Page 49: CIS 200 Final Review

Recursion

…a solution strategy that involves a simpler version of the same problem. The problem becomes simplified with each call until we reach a stopping point. Resolution level by level.

Useful for Complex equations (Fibonacci number) Towers of Hanoi Binary Searching

Entry pointStopping pointDeceptively simple

Page 50: CIS 200 Final Review

Define a Recursion Method

What is my base case? What is the solution to my base case?

What is my intermediate case? What is the solution to the intermediate case?

Page 51: CIS 200 Final Review

Recursion Example

Page 52: CIS 200 Final Review

Recursion Example

Page 53: CIS 200 Final Review

Big O

What’s better? T(N) = 2 * N * N

… 2(N^2)

T(N) = 1 * N * N + 1 * N … N^2 + N

Page 54: CIS 200 Final Review

Sample Questions fromBlackboard Wiki

Page 55: CIS 200 Final Review

What is the differences between Panel and GroupBox?

Panel Scrollable Does not have a caption

Groupbox Not scrollable Has a caption

Page 56: CIS 200 Final Review

What is the differences between CheckBox and RadioButton?

CheckBox Offer a “binary” choice Turn options on / off

True / False

Multiple together

RadioButton Two or more mutually

EXCLUSIVE items … XOR

Multiple Choice Question

Page 57: CIS 200 Final Review

RadioButton controls become a set of mutually exclusive choices. How?

A group of RadioButtons offer only a single choice to a user

Selecting one will deselect another

Logical XOR By container the radio

buttons are placed in

Page 58: CIS 200 Final Review

ListBox has four modes of operation, what are they and describe them.

None No items can be selected

One Only one item can be

selectedMultiSimple

Multiple items can be selected by toggling

MultiExtended Multiple items can be

selected AND the user can use SHIFT, CTRL, and ARROw keys to make selections

Page 59: CIS 200 Final Review

ComboBox has three modes of operation, name and describe each.

Simple List is always visible, text portion

editable User can enter a new value

DropDown List is displayed by clicking down

arrow and text portion is editable User can enter a new value

DropDownList List is displayed by clicking down

arrow and text is not editable Only values in the list can be

selected

Page 60: CIS 200 Final Review

How does the use of object serialization compare to simply writing

our data to a text file?

Raw Write to Text File List of “strings” Will require manual “re-

entry” later Some method, or handler to

convert text file to .NET object

Object Serialization Takes state of object,

serializes for storage Reading serialization

produces native .NET object

Page 61: CIS 200 Final Review

The hierarchy of data includes what, and in what order?

(Smallest) Bits Bytes Fields Records Files (Largest)

Page 62: CIS 200 Final Review

Describe the hierarchy of data elements Bits

0 or 1 Bytes

8 bits together Fields

Name, Phone number, Data Dimension

Conveys meaning Records

Group of related fields Files

Group of related fields or other data

Page 63: CIS 200 Final Review

How can REACH further help you today?

Ask Questions Now! Need to see an Example? Need to see a concept again? Need additional help?

Visit us at: iTech Zone CRC (Ekstrom Library)

Wednesday & Thursday (12 / 5 - 12 / 6) 9:00AM – 5:00PM

Friday (12 / 7) 9:00AM – 4:00PM