Construction, utilization, and modification of linear and non-linear data structures. The data structures include arrays, stacks, queues, sets, maps, heaps, hash tables, trees, and graphs. Space and time complexity analysis of algorithms related to these data structures. Sorting and searching techniques on linear data structures, including arrays and sequential files. Binary search trees and balanced search trees. A student will be permitted to enroll in CMPS 260 and CMPS 261 a maximum of three times in each course.