Phone:

+(886) 909 756 966

Email:
moneychien20639@gmail.com

© 2024 Yu-Hang

Course:

Introduction to Computer Systems (15-513)

Time Spent:

20 hours

Source Code:
to github

Cord Lab

The Cord Lab challenged me to implement and manipulate cords, which are tree-like data structures that efficiently handle string operations. This project required a solid understanding of C programming, including explicit memory management and pointer-based data structures.

Efficient String Operations:

  • Implemented the cord data structure to perform string concatenation in constant time, a significant improvement over traditional string handling methods.
  • Functions like cord_new, cord_length, and cord_join were implemented to ensure optimal performance.

Pointer-Based Data Structures:

  • Created and manipulated complex data structures using pointers, enhancing my understanding of low-level programming concepts.
  • Ensured robustness by implementing data structure invariants and handling edge cases, such as NULL pointers.

Recursive Algorithms:

  • Developed recursive functions like cord_charat and cord_tostring to navigate and manipulate the cord structure efficiently.
  • Implemented cord_sub to return substrings without modifying the original cord structure, maximizing memory efficiency through structure sharing.

Completing the Cord Lab has significantly improved my technical expertise in low-level programming and efficient data structure implementation. The skills and knowledge I gained are essential for developing high-performance software and understanding the inner workings of computer systems.


  • C
  • Data Structures
  • Efficient String Operations
  • Recursive Algorithms
  • String Manipulation
  • Explicit Memory Allocation
  • Pointer Manipulation