
VisuAlgo has been translated into three primary languages: English, Chinese, and Indonesian. Each VisuAlgo visualization module now includes its own online quiz component. By assigning a small (but non-zero) weight to passing the online quiz, CS instructors can significantly enhance their students' mastery of these basic concepts, as they have access to an almost unlimited number of practice questions that can be instantly verified before taking the online quiz.

SINGLY LINKED LIST MANUAL
As more CS instructors adopt this online quiz system worldwide, it could effectively eliminate manual basic data structure and algorithm questions from standard Computer Science exams in many universities. Questions are randomly generated based on specific rules, and students' answers are automatically graded upon submission to our grading server.
SINGLY LINKED LIST GENERATOR
At present, the platform features 24 visualization modules.Įquipped with a built-in question generator and answer verifier, VisuAlgo's "online quiz system" enables students to test their knowledge of basic data structures and algorithms. VisuAlgo remains a work in progress, with the ongoing development of more complex visualizations. However, since April 2022, a mobile (lite) version of VisuAlgo has been made available, making it possible to use a subset of VisuAlgo features on smartphone screens. For an optimal user experience, a minimum screen resolution of 1366x768 is recommended. Initially, VisuAlgo was not designed for small touch screens like smartphones, as intricate algorithm visualizations required substantial pixel space and click-and-drag interactions. While primarily designed for National University of Singapore (NUS) students enrolled in various data structure and algorithm courses (e.g., CS1010/equivalent, CS2040/equivalent (including IT5003), CS3230, CS3233, and CS4234), VisuAlgo also serves as a valuable resource for inquisitive minds worldwide, promoting online learning. Suhendry Effendy - VisuAlgo remains the exclusive platform for visualizing and animating several of these complex algorithms even after a decade. Steven Halim's book, 'Competitive Programming' - co-authored with Dr. Initially conceived in 2011 by Associate Professor Steven Halim, VisuAlgo aimed to facilitate a deeper understanding of data structures and algorithms for his students by providing a self-paced, interactive learning platform.įeaturing numerous advanced algorithms discussed in Dr. PS2: There is an alternative way to implement an efficient Queue using two Stacks.

SINGLY LINKED LIST FULL
PS1: If you understand amortized analysis, this heavy O( N) cost when the circular array is full can actually be spread out so that each enqueue remains O( 1) in amortized sense.

However, if we do not know the upper bound of queue size, we can enlarge (double) the size of the array, e.g., make M = 2*8 = 16 (two-times larger), but that will entail re-copying the items from index front to back in a slow (but rare) O( N) process to have, front = 0, and back = 7. At this point ( front = (back+1) % M)), we cannot enqueue anything else.ĭo note that if we know that our queue size will never exceed the fixed array size M, then the circular array idea is actually already a good way to implement Queue ADT. A few more enqueue operations later, we may have, front = 5, and back = 4. Yet, this does not solve the main problem of fixed-size array implementation.
