This is my journey, preparing myself for coding interviews. My goals are:
- refresh my C++
- learn some new technologies in C++
- unit tests
- C++11 features
- brush up on my problem solving skills
- practice a bit of big-O
- equals_without_comparisons: first C++ program in a while
- find_max: simple standard library review and first unit test ever in C++ (done lots in Java)
- linked_list: implement a linked list in C++ to review classes, header files, unit tests
- stack_using_link_node: implement a stack using only a link_node
- nested_list: doubley linked list structure which also has a child
- linked_list_cycle: efficiently determine if a linked list has a cycle
- bst: implement a binary search tree using C (not C++)
- inorder and preorder traversal
- eliminating recusion from a recusive method
- heap: implement a heap using Java and gradle build environment
- first_non_repeat_char: get practice with reading strings in C/C++
- remove_chars: remove the required characters from the input string
- efficiently build the new string
- reverse_words: reverse the words separated by spaces in place (without allocating new memory)
- str_int_convert: convert between string and integer
- binary_search: binary search implemented recursively and interatively
- permute_str: output all permutations of a string
- string_combos: output all the combinations of a string
- telephone_words: output all possible character combinations of a phone number
- busy_waiting: describe techniques used to prevent busy waiting
- producer_consumer: implementation of the producer consumer example
- dining_philosophers: make sure no one starves
- simple_sql: insert a row into a table
- employee_db: select practice
- max_no_agg: implement max without using aggregate functions (ie: group by)
- three_valued_logic: where clause practice
- eighth_of_a_circle: practice graphics and bits manipulations by drawing eigth of a circle
- rectangle_overlap: determine if two rectangles overlap
- endianness: determine the endianness of the current computer
- tower_of_hanoi: practice with Java stacks
- all_unique: determine if all the characters of a string are unique
- remove_dupes: removes duplicate characters from a string in place using constant memory
- anagram: Write a method to decide if two strings are anagrams or not.
- encode_space: Write a method to replace all spaces in a string with โ%20โ.
- rotate_matrix: Rotate an N by N matrix in place
- is_rotation_using_substring: are two strings rotations of each other using only one call to substring