...Linked List Problems By Nick Parlante Copyright ©1998-2002, Nick Parlante Abstract This document reviews basic linked list code techniques and then works through 18 linked list problems covering a wide range of difficulty. Most obviously, these problems are a way to learn about linked lists. More importantly, these problems are a way to develop your ability with complex pointer algorithms. Even though modern languages and tools have made linked lists pretty unimportant for day-to-day programming, the skills for complex pointer algorithms are very important, and linked lists are an excellent way to develop those skills. The problems use the C language syntax, so they require a basic understanding of C and its pointer syntax. The emphasis is on the important concepts of pointer manipulation and linked list algorithms rather than the features of the C language. For some of the problems we present multiple solutions, such as iteration vs. recursion, dummy node vs. local reference. The specific problems are, in rough order of difficulty: Count, GetNth, DeleteList, Pop, InsertNth, SortedInsert, InsertSort, Append, FrontBackSplit, RemoveDuplicates, MoveNode, AlternatingSplit, ShuffleMerge, SortedMerge, SortedIntersect, Reverse, and RecursiveReverse. Contents Section 1 — Review of basic linked list code techniques Section 2 — 18 list problems in increasing order of difficulty Section 3 — Solutions to all the problems 3 10 20 This is document #105, Linked List Problems, in the...
Words: 7907 - Pages: 32
...A linked list is made up of a series of objects, called the nodes of the list. Because a list node is a distinct object. Linked lists are among the simplest and most common data structures. The principal benefit of a linked list over a conventional array is that the list elements can easily be inserted or removed without reallocation or reorganization of the entire structure because the data items need not be stored contiguously in memory or on disk, while an array has to be declared in the source code, before compiling and running the program. Linked lists allow insertion and removal of nodes at any point in the list, and can do so with a constant number of operations if the link previous to the link being added or removed is maintained during list traversal. Singly Linked List: Singly linked lists contain nodes which have a data field as well as a next field, which points to the next node in line of nodes. Operations that can be performed on singly linked lists include insertion, deletion and traversal. Finding and Deleting Specified Link: Finding algorithm Beginning from the head, 1. Check, if the end of a list hasn't been reached yet; 2. Do some actions with the current node, which is specific for particular algorithm; 3. Current node becomes previous and next node becomes current. Deleting 4. Save reference to link 5. Delete it, save first to old next 6. Return deleted link Operation on Singly Link List: * Search * Insert ...
Words: 818 - Pages: 4
...data in the list.As said earlier a pointer to the next data. example of a linked list: class node{// all nodes will be the objects of this class public int data; public link next_node;//a pointer to next data } public node(int data){ this.data=data; }//end of constructor public void showdata(){ System.out.println("data= "+data); } }//end of class node After defining class for each node we need to define a class for link list. Link list contains a pointer to the first node in the list,Which should be initialized to null in the beginning. All the operations to be performed on the link list is defined as functions in this class. For example insert first,Delete,insert search etc. class linkedlist{ private node first_node;//pointer to the first node is defined public linkedlist(){ first_node=null; } public void add_DAta(int data1){ //create...
Words: 475 - Pages: 2
...An array is defined as a sequence of objects of the same data type. All the elements of an array are either of type int (whole numbers), or all of them are of type char, or all of them are of floating decimal point type, etc. An array cannot have a mixture of different data types as its elements. Also, array elements cannot be functions; however, they may be pointers to functions. In computer memory, array elements are stored in a sequence of adjacent memory blocks. Since all the elements of an array are of same data type, the memory blocks allocated to elements of an array are also of same size. Each element of an array occupies one block of memory. The size of memory blocks allocated depends on the data type and it is same as for different data types. Often, we have to deal with groups of objects of same type such as names of persons, instrument readings in an experiment, roll numbers of students, and so on. These groups can be conveniently represented as elements of arrays. The declaration of array includes the type of array that is the type of value we are going to store in it, the array name and maximum number of elements. Examples: short val[200]; val[12] = 5; Declaration & Data Types Arrays have the same data types as variables, i.e., short, long, float etc. They are similar to variables: they can either be declared global or local. They are declared by the given syntax: Datatype array_name [dimensions] = {element1,element2,….,element} The declaration form...
Words: 7409 - Pages: 30
...Computer Science 2n (Level 0) n2 (Level 1) n (Level 2) log(n) (Level 3) data structures Doesn’t know the difference between Array and LinkedList Able to explain and use Arrays, LinkedLists, Dictionaries etc in practical programming tasks Knows space and time tradeoffs of the basic data structures, Arrays vs LinkedLists, Able to explain how hashtables can be implemented and can handle collisions, Priority queues and ways to implement them etc. Knowledge of advanced data structures like B-trees, binomial and fibonacci heaps, AVL/Red Black trees, Splay Trees, Skip Lists, tries etc. algorithms Unable to find the average of numbers in an array (It’s hard to believe but I’ve interviewed such candidates) Basic sorting, searching and data structure traversal and retrieval algorithms Tree, Graph, simple greedy and divide and conquer algorithms, is able to understand the relevance of the levels of this matrix. systems programming Doesn’t know what a compiler, linker or interpreter is Basic understanding of compilers, linker and interpreters. Understands Understands kernel mode vs. user mode, multi-threading, synchronization primitives and how they’re implemented, able to read what assembly code is and how things work at the hardware level. Some assembly code. Understands how networks work, understanding of network protocols and socket level programming. knowledge of virtual memory and paging. Able to recognize and code dynamic...
Words: 1812 - Pages: 8
...what is generics in jdk1.5? | | |Answer |Hi, | | |# 1 | | | | |Generics is Template support added in JDK1.5 where in we can maintain templates of object with particular type and | | | |also this object is restricted to accept type other than specified one at code time. | | | |This help reducing runtime exception and also we can create predefined well formed templates of Type. | | | | | | | |Best Example. | | | | | | | |http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html#generics | | | | | | | |Code written to use the generics feature should not be a lot slower or a lot more memory-intensive than non-generic | | | ...
Words: 1669 - Pages: 7
...return (getName() + "'s average grade is " + pattern.format(getComputeAverage())); } } ------------------------ import java.io.FileReader; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.IOException; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.Queue; import java.util.Set; import java.util.StringTokenizer; public class Test { public static void main(String[] args) { String inputFileName = "data.txt"; FileReader fileReader = null; // Create the FileReader object try { fileReader = new FileReader(inputFileName); } catch (FileNotFoundException e) { e.printStackTrace(); } Queue studentQueue = new LinkedList(); HashMap studentMap = new HashMap();...
Words: 366 - Pages: 2
...limits. c) Write a program to implement below diamond pattern. * *** ***** d) Write a program to implement string concatenation, finding string length, find sub string and check the given string is palindrome or not? e) Write a program to implement constructor overloading by passing different number of parameter of different types. f) Write a program to find area of Square and rectangle figures using method. g) Write a program to calculate bonus for different departments using method overriding. h) Write a program to perform the different arithmetic operation show the exception handling. i) Write a program to implement thread priorities. j) Write a program to create a linked list using LinkedList class of Collection Framework k) Write a program, to create a Frame Window in an applet. l) Write a program to create simple student registration using applet, read the input using text boxes and display the output once user click on the button. m) Write a program to draw different polygon by using AWT supported Graphics method n) Write a program to implement the appropriate interface in the key listener so that it will receive the type of event. ASSIGNMENT EXCEPTION Exception and exception handling -introduction, types of errors, exceptions, syntax of exception, handling codes Cover Page S.No | Program Title | Date of Completion | Page No | Lecturer Signature | 1. | To find HCF of two number reading inputs as...
Words: 275 - Pages: 2
...Vol 3 Issue 2 March 2013 Impact Factor : 0.2105 ORIGINAL ARTICLE ISSN No : 2230-7850 Monthly Multidisciplinary Research Journal Indian Streams Research Journal Executive Editor Ashok Yakkaldevi Editor-in-chief H.N.Jagtap IMPACT FACTOR : 0.2105 Welcome to ISRJ RNI MAHMUL/2011/38595 ISSN No.2230-7850 Indian Streams Research Journal is a multidisciplinary research journal, published monthly in English, Hindi & Marathi Language. All research papers submitted to the journal will be double - blind peer reviewed referred by members of the editorial Board readers will include investigator in universities, research institutes government and industry with research interest in the general subjects. International Advisory Board Flávio de São Pedro Filho Federal University of Rondonia, Brazil Hasan Baktir Mohammad Hailat English Language and Literature Dept. of Mathmatical Sciences, University of South Carolina Aiken, Aiken SC Department, Kayseri Kamani Perera 29801 Regional Centre For Strategic Studies, Sri Ghayoor Abbas Chotana Lanka Department of Chemistry, Lahore Abdullah Sabbagh University of Management Sciences [ PK Engineering Studies, Sydney Janaki Sinnasamy ] Librarian, University of Malaya [ Anna Maria Constantinovici Catalina Neculai Malaysia ] AL. I. Cuza University, Romania University of Coventry, UK Romona Mihaila Spiru Haret University, Romania Delia Serbescu Spiru Haret University, Bucharest, Romania Anurag Misra DBS College, Kanpur Titus Pop Ecaterina...
Words: 7048 - Pages: 29
...JMaster list of Java interview questions - 115 questions By admin | July 18, 2005 115 questions total, not for the weak. Covers everything from basics to JDBC connectivity, AWT and JSP. 1. What is the difference between procedural and object-oriented programs?- a) In procedural program, programming logic follows certain procedures and the instructions are executed one after another. In OOP program, unit of program is object, which is nothing but combination of data and code. b) In procedural program, data is exposed to the whole program whereas in OOPs program, it is accessible with in the object and which in turn assures the security of the code. 2. What are Encapsulation, Inheritance and Polymorphism?- Encapsulation is the mechanism that binds together code and data it manipulates and keeps both safe from outside interference and misuse. Inheritance is the process by which one object acquires the properties of another object. Polymorphism is the feature that allows one interface to be used for general class actions. 3. What is the difference between Assignment and Initialization?- Assignment can be done as many times as desired whereas initialization can be done only once. 4. What is OOPs?- Object oriented programming organizes a program around its data, i. e. , objects and a set of well defined interfaces to that data. An object-oriented program can be characterized as data controlling 5. access to code. What are Class, Constructor...
Words: 6762 - Pages: 28
...Faculty of Computer Studies M180 Data Structures and Algorithms in Java Mid-Term Assessment (MTA) Fall – 2013 Saturday 17, November 2012 Number of MTA Pages: (including this cover sheet) ( 3 ) Time Allowed: ( 2 ) Hour Instructions: 1- Write all your answers on the same exam paper. 2- Electronic devices (especially calculators) are not allowed. Question Type Max. Mark Part 1: Multiple Choice Questions 10 Part 2: Short questions 20 Part 3: Coding questions 30 Total 60 Student Mark M180 Midterm-Ex am Fall 2012-2013 PART 1: ALL QUESTIONS ARE REQUIRED [10 Marks] Question 1: Choose the correct answer: (10 marks, one mark each) 1) a) b) c) d) One of the following methods return the top of the stack without applying any modifications: pop( ) push( ) peek( ) isEmpty( ) 2) a) b) c) d) Two main measures for the efficiency of an algorithm are: Processor and memory Time and space Complexity and capacity Data and space 3) a) b) c) d) A doubly nested “for loop” typically takes time in: Θ(n2) Θ(n) Θ(log n) Θ(log n2) 4) a) b) c) d) Arrays are best data structures: For relatively permanent collections of data For the size of the structure and the data in the structure are constantly changing For both of above situation For none of above situation 5) The elements of an array are stored successively in memory cells because: a) The architecture of computer memory does not allow...
Words: 1212 - Pages: 5
...Blue Pelican Java by Charles E. Cook Version 3.0.5h Copyright © 2004 - 2008 by Charles E. Cook; Refugio, Tx (All rights reserved) 1-1 “Blue Pelican Java,” by Charles E. Cook. ISBN 1-58939-758-4. Published 2005 by Virtualbookworm.com Publishing Inc., P.O. Box 9949, College Station, Tx 77842, US. ©2005, Charles E. Cook. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, recording or otherwise, without the prior written permission of Charles E. Cook. Manufactured in the United States of America. Preface You will find this book to be somewhat unusual. Most computer science texts will begin with a section on the history of computers and then with a flurry of definitions that are just “so many words” to the average student. My approach with Blue Pelican Java is to first give the student some experience upon which to hang the definitions that come later, and consequently, make them more meaningful. This book does have a history section in Appendix S and plenty of definitions later when the student is ready for them. If you will look at Lesson 1, you will see that we go right to work and write a program the very first day. The student will not understand several things about that first program, yet he can immediately make the computer do something useful. This work ethic is typical of the remainder of the book. Rest assured that full understanding...
Words: 31284 - Pages: 126
...Programming Exercises For Chapter 2 -------------------------------------------------------------------------------- THIS PAGE CONTAINS programming exercises based on material from Chapter 2 of this on-line Java textbook. Each exercise has a link to a discussion of one possible solution of that exercise. http://www.java2s.clanteam.com -------------------------------------------------------------------------------- Exercise 2.1: Write a program that will print your initials to standard output in letters that are nine lines tall. Each big letter should be made up of a bunch of *'s. For example, if your initials were "DJE", then the output would look something like: ****** ************* ********** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ******** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ***** **** ********** See the solution! : visit this website http://java2s.clanteam.com/ -------------------------------------------------------------------------------- Exercise 2.2: Write a program that simulates rolling a pair of dice. You can simulate rolling one die by choosing one of the integers 1, 2...
Words: 18137 - Pages: 73
...A Project Report On ANDROID BASED STATIC WEBSERVER BY CONTENTS TITLE ABSTRACT INTRODUCTION…………………………………………………. 1 Purpose……………………………………………………..………… 1.1 Scope…………………………………………………..…….……….. 1.2 Definitions, Acroynms, Abbrivations……………………. 1.3 Overview……………………..………………………………………. 1.4 SYSTEM ANALYSIS……………………………………… 3 Software Requirements Specification…..………………. 3.1 Hardware Requirements……………………………………….. 3.1.1 Software Requirements………………………………………… 3.1.2 IMPLEMENTATION……………………………………… 4 Modules……………………………………………………………….. 4.1 Accounts…………………………………………………………..4.1.1 Transactions………………………………………………………….. 4.1.2 DESIGN………………..…………………………….……… 5 UML Diagrams………………………………………………………… 5.1 Class Diagram………………………………………………………… 5.1.1 Usecase Diagram….……………………………………………….. 5.1.2 Sequence Diagram….……………………………………………….. 5.1.3 RESULT FOR IMPLEMENTATION…………………… 6 Output Screens………………………………………………………. 6.1 SYSTEM TESTING………………………………………….7 Types of Testing………………………………………………………. 7.1 TESTCASES…………………………………………………..8 CONCLUSION………………………………………………..9 ANDROID BASED STATIC WEBSERVER ABSTRACT Android is software platform and operating system for mobile devices. Being an open-source, it is based on the Linux kernel. It was developed by Google and later the Open Handset Alliance (OHA). It allows writing managed code in the Java language. Due to Android here is the...
Words: 9090 - Pages: 37
...A Programmer’s Guide to Java™ SCJP Certification Third Edition This page intentionally left blank A Programmer’s Guide to Java™ SCJP Certification A Comprehensive Primer Third Edition Khalid A. Mughal Rolf W. Rasmussen Upper Saddle River, New Jersey • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sidney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please contact: U.S. Corporate and Government Sales (800) 382-3419 corpsales@pearsontechgroup.com For sales outside the United...
Words: 15086 - Pages: 61