SlideShare ist ein Scribd-Unternehmen logo
1 von 7
CSE2/CSE5ALG– Algorithms and Data Structures – 2020
Assignment – Part 2
Assessment: This part 2 of the assignment is worth 20% of the
final mark for this subject.
Due Date: 29 May 2020, Friday, at 10:00 AM
Delays caused by computer downtime cannot be accepted as a
valid reason for a late submission
without penalty. Students must plan their work to allow for both
scheduled and
unscheduled downtime. Late submission policy does NOT apply
to this assignment.
Copying, Plagiarism: Plagiarism is the submission of somebody
else’s work in a manner that
gives the impression that the work is your own. The Department
of CS and IT treats academic
misconduct seriously. When it is detected, penalties are strictly
imposed.
Submission Details: Submit all the Java files that are required
for the tasks described in this
handout. The code has to run under Unix on the latcs8 machine.
You submit your files from your
latcs8 account. Make sure you are in the same directory as the
files you are submitting. Submit
each file separately using the submit command. For example,
for the file called (say)
WordMatch.java, use command:
submit ALG WordMatch.java
After submitting the files, you can run the following command
that lists the files submitted from
your account:
verify
You can submit the same filename as many times as you like
before the assignment deadline; the
previously submitted copy will be replaced by the latest one.
Testing Platform: While you are free to develop the code for
this assignment on any operating
system, your solution must run on the latcs8 system. We should
be able to compile your classes
with the simple command javac *.java, and execute your
programs with command
-line arguments, e.g. java WordMatch in1.txt out1.txt in2.txt
out2.txt.
Return of Assignment: The tutor is to mark your assignment
with a marking sheet in a face-to-
face pattern during the lab classes in Week 12. You will be
notified with your mark immediately
after marking. If you have any doubt your mark, please raise it
to the tutor before your lab
class ends. Any post-lab inquiry will NOT be accepted.
Assignment Objectives
• To understand various data structures and searching and
sorting techniques;
• To analyse these techniques in relation to a particular
problem;
• To implement these techniques within a Java program.
1
Background
As described in the handout for Part 1, the primary goal of the
assignment is to develop a
program to build a lexicon and to find the words that match
certain patterns.
Whereas for Part 1 we considered the correctness only, for Part
2 we are concerned with the
efficiency. Specifically, you are required to do the tasks
described below.
Besides the information given in the tasks below, please refer to
Part 1 of the Assignment for
any other information you need.
Task 1
Write a Java program called WordMatch.java. This program
takes four command-line
arguments. For example:
java WordMatch in1.txt out1.txt in2.txt out2.txt
1. The first is the name of a text file that contains the names of
AT LEAST TWO text files
(each per line) from which the words are to be read to build the
lexicon (The argument is
to specify the input files).
2. The second is the name of a text file to which the words in
the lexicon are to be written
(The argument is to specify the file containing the words and
the neighbors in the lexicon).
3. The third is the name of a text file that contains ONLY ONE
matching pattern (The
argument is to specify the file containing the matching pattern).
4. The fourth is the name of the text file that contains the result
of the matching for the given
pattern (The argument specifies the file containing the output).
For this version, the efficiency with which the program
performs various operations is a major
concern, i.e. the sooner the program performs (correctly), the
better.
For example, the files read in can be quite long and the lexicon
of words can grow to be quite
lengthy. Time to insert the words will be critical here and you
will need to carefully consider
which algorithms and data structures you use.
You can use any text files for input to this program. A good
source of long text files is at the
Gutenberg project (www.gutenberg.com) which is a project
aimed to put into electronic form
older literary works that are in the public domain. The extract
from Jane Austen’s book Pride and
Prejudice used as the sample text file above was sourced from
this web site. You should choose
files of lengths suitable for providing good information about
the efficiency of your program.
A selection of test files have been posted on LMS for your
efficiency testing. You can consider
additional test files if you wish.
As expected, the definition of a word, and the content of a
query’s result and display of this
result are exactly the same as what described in Assignment
Part 1.
All the Java files must be submitted. The program will be
marked on correctness and efficiency.
Bad coding style and documentation may have up 5 marks
deducted.
With the exceptions of ArrayList and LinkedList, you are NOT
permitted to use any
of the classes in the Java Collections Framework, e.g. TreeMap,
HashMap,
Collections, Arrays. Violation of this requirement may lead to a
mark of ZERO.
2
3
Task 2 (CSE5ALG students only)
Consider the B-trees of order M . Assume that we have the
following result, which we will refer
to asLemma1.
⌉ .Lemma 1: The barest B-tree of height H contains N = 2K H −
1 elements, where K = ⌈ M
2
Determine the height's upper bound for a B-tree of order 23
which has 10, 000, 000 = 107
elements. You must give an integer value as the height's upper
bound for the B-tree.
You are not allowed to use the result given in the lecture
regarding the upper bound for B-
tree’s height. Instead, you must work out the answer using
Lemma 1 above.
Note: The total mark for Part 2 will be 100 for CSE2ALG
students and 125 (100 for Task 1 and
25 for Task 2) for CSE5ALG students. The percentage of
contribution to the final will be the
same, i.e. 20%.
In your solution to Task 2, as well as in every Java class, you
must include your student ID
and name, and the subject code.
How to submit your solution to Task 2: Your solution should be
a PDF file named
Task2.pdf, and be submitted using the same command submit
ALG, i.e. submit ALG Task2.pdf
Marking Scheme
Your assignment is to be marked according to a marking sheet.
Please check the example
marking sheet on the LMS subject page for details.
CSE2CSE5ALG– Algorithms and Data Structures – 2020 Assignme.docx

Weitere ähnliche Inhalte

Ähnlich wie CSE2CSE5ALG– Algorithms and Data Structures – 2020 Assignme.docx

Comp 220 ilab 6 of 7
Comp 220 ilab 6 of 7Comp 220 ilab 6 of 7
Comp 220 ilab 6 of 7
ashhadiqbal
 
The Lab assignment will be graded out of 100 points.  There are .docx
The Lab assignment will be graded out of 100 points.  There are .docxThe Lab assignment will be graded out of 100 points.  There are .docx
The Lab assignment will be graded out of 100 points.  There are .docx
jmindy
 
pa5PA5.docxCS 211 PA #5At certain universities, professors of.docx
pa5PA5.docxCS 211 PA #5At certain universities, professors of.docxpa5PA5.docxCS 211 PA #5At certain universities, professors of.docx
pa5PA5.docxCS 211 PA #5At certain universities, professors of.docx
gerardkortney
 
Case Study Analysis 2The Cholesterol.xls records cholesterol lev.docx
Case Study Analysis 2The Cholesterol.xls records cholesterol lev.docxCase Study Analysis 2The Cholesterol.xls records cholesterol lev.docx
Case Study Analysis 2The Cholesterol.xls records cholesterol lev.docx
wendolynhalbert
 
HND Assignment Brief Session Sept.docx
              HND Assignment Brief               Session Sept.docx              HND Assignment Brief               Session Sept.docx
HND Assignment Brief Session Sept.docx
joyjonna282
 
Assignment 2 Directions Enter your Name Here =è XXXXXXXXXX.docx
Assignment 2 Directions Enter your Name Here =è XXXXXXXXXX.docxAssignment 2 Directions Enter your Name Here =è XXXXXXXXXX.docx
Assignment 2 Directions Enter your Name Here =è XXXXXXXXXX.docx
annrodgerson
 

Ähnlich wie CSE2CSE5ALG– Algorithms and Data Structures – 2020 Assignme.docx (13)

Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
 
Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual
 
Comp 220 ilab 6 of 7
Comp 220 ilab 6 of 7Comp 220 ilab 6 of 7
Comp 220 ilab 6 of 7
 
LangChain + Docugami Webinar
LangChain + Docugami WebinarLangChain + Docugami Webinar
LangChain + Docugami Webinar
 
CMSC 335 FINAL PROJECT
CMSC 335 FINAL PROJECTCMSC 335 FINAL PROJECT
CMSC 335 FINAL PROJECT
 
The Lab assignment will be graded out of 100 points.  There are .docx
The Lab assignment will be graded out of 100 points.  There are .docxThe Lab assignment will be graded out of 100 points.  There are .docx
The Lab assignment will be graded out of 100 points.  There are .docx
 
pa5PA5.docxCS 211 PA #5At certain universities, professors of.docx
pa5PA5.docxCS 211 PA #5At certain universities, professors of.docxpa5PA5.docxCS 211 PA #5At certain universities, professors of.docx
pa5PA5.docxCS 211 PA #5At certain universities, professors of.docx
 
Case Study Analysis 2The Cholesterol.xls records cholesterol lev.docx
Case Study Analysis 2The Cholesterol.xls records cholesterol lev.docxCase Study Analysis 2The Cholesterol.xls records cholesterol lev.docx
Case Study Analysis 2The Cholesterol.xls records cholesterol lev.docx
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
 
Cis 1403 lab1- the process of programming
Cis 1403 lab1- the process of programmingCis 1403 lab1- the process of programming
Cis 1403 lab1- the process of programming
 
HND Assignment Brief Session Sept.docx
              HND Assignment Brief               Session Sept.docx              HND Assignment Brief               Session Sept.docx
HND Assignment Brief Session Sept.docx
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
 
Assignment 2 Directions Enter your Name Here =è XXXXXXXXXX.docx
Assignment 2 Directions Enter your Name Here =è XXXXXXXXXX.docxAssignment 2 Directions Enter your Name Here =è XXXXXXXXXX.docx
Assignment 2 Directions Enter your Name Here =è XXXXXXXXXX.docx
 

Mehr von mydrynan

CSIA 413 Cybersecurity Policy, Plans, and Programs.docx
CSIA 413 Cybersecurity Policy, Plans, and Programs.docxCSIA 413 Cybersecurity Policy, Plans, and Programs.docx
CSIA 413 Cybersecurity Policy, Plans, and Programs.docx
mydrynan
 
CSIS 100CSIS 100 - Discussion Board Topic #1One of the object.docx
CSIS 100CSIS 100 - Discussion Board Topic #1One of the object.docxCSIS 100CSIS 100 - Discussion Board Topic #1One of the object.docx
CSIS 100CSIS 100 - Discussion Board Topic #1One of the object.docx
mydrynan
 
CSI Paper Grading Rubric- (worth a possible 100 points) .docx
CSI Paper Grading Rubric- (worth a possible 100 points)   .docxCSI Paper Grading Rubric- (worth a possible 100 points)   .docx
CSI Paper Grading Rubric- (worth a possible 100 points) .docx
mydrynan
 
CSIA 413 Cybersecurity Policy, Plans, and ProgramsProject #4 IT .docx
CSIA 413 Cybersecurity Policy, Plans, and ProgramsProject #4 IT .docxCSIA 413 Cybersecurity Policy, Plans, and ProgramsProject #4 IT .docx
CSIA 413 Cybersecurity Policy, Plans, and ProgramsProject #4 IT .docx
mydrynan
 
CSI 170 Week 3 AssingmentAssignment 1 Cyber Computer CrimeAss.docx
CSI 170 Week 3 AssingmentAssignment 1 Cyber Computer CrimeAss.docxCSI 170 Week 3 AssingmentAssignment 1 Cyber Computer CrimeAss.docx
CSI 170 Week 3 AssingmentAssignment 1 Cyber Computer CrimeAss.docx
mydrynan
 
CSE422 Section 002 – Computer Networking Fall 2018 Ho.docx
CSE422 Section 002 – Computer Networking Fall 2018  Ho.docxCSE422 Section 002 – Computer Networking Fall 2018  Ho.docx
CSE422 Section 002 – Computer Networking Fall 2018 Ho.docx
mydrynan
 
CSCI  132  Practical  Unix  and  Programming   .docx
CSCI  132  Practical  Unix  and  Programming   .docxCSCI  132  Practical  Unix  and  Programming   .docx
CSCI  132  Practical  Unix  and  Programming   .docx
mydrynan
 
CSCI 714 Software Project Planning and EstimationLec.docx
CSCI 714 Software Project Planning and EstimationLec.docxCSCI 714 Software Project Planning and EstimationLec.docx
CSCI 714 Software Project Planning and EstimationLec.docx
mydrynan
 
CSCI 561Research Paper Topic Proposal and Outline Instructions.docx
CSCI 561Research Paper Topic Proposal and Outline Instructions.docxCSCI 561Research Paper Topic Proposal and Outline Instructions.docx
CSCI 561Research Paper Topic Proposal and Outline Instructions.docx
mydrynan
 
CSCI 561 DB Standardized Rubric50 PointsCriteriaLevels of .docx
CSCI 561 DB Standardized Rubric50 PointsCriteriaLevels of .docxCSCI 561 DB Standardized Rubric50 PointsCriteriaLevels of .docx
CSCI 561 DB Standardized Rubric50 PointsCriteriaLevels of .docx
mydrynan
 
CryptographyLesson 10© Copyright 2012-2013 (ISC)², Inc. Al.docx
CryptographyLesson 10© Copyright 2012-2013 (ISC)², Inc. Al.docxCryptographyLesson 10© Copyright 2012-2013 (ISC)², Inc. Al.docx
CryptographyLesson 10© Copyright 2012-2013 (ISC)², Inc. Al.docx
mydrynan
 
CSCI 352 - Digital Forensics Assignment #1 Spring 2020 .docx
CSCI 352 - Digital Forensics Assignment #1 Spring 2020 .docxCSCI 352 - Digital Forensics Assignment #1 Spring 2020 .docx
CSCI 352 - Digital Forensics Assignment #1 Spring 2020 .docx
mydrynan
 
CSCE 1040 Homework 2 For this assignment we are going to .docx
CSCE 1040 Homework 2  For this assignment we are going to .docxCSCE 1040 Homework 2  For this assignment we are going to .docx
CSCE 1040 Homework 2 For this assignment we are going to .docx
mydrynan
 
CSCE509–Spring2019Assignment3updated01May19DU.docx
CSCE509–Spring2019Assignment3updated01May19DU.docxCSCE509–Spring2019Assignment3updated01May19DU.docx
CSCE509–Spring2019Assignment3updated01May19DU.docx
mydrynan
 
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docxCSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
mydrynan
 
CSCE 3110 Data Structures & Algorithms Summer 2019 1 of .docx
CSCE 3110 Data Structures & Algorithms Summer 2019   1 of .docxCSCE 3110 Data Structures & Algorithms Summer 2019   1 of .docx
CSCE 3110 Data Structures & Algorithms Summer 2019 1 of .docx
mydrynan
 
CSCI 340 Final Group ProjectNatalie Warden, Arturo Gonzalez, R.docx
CSCI 340 Final Group ProjectNatalie Warden, Arturo Gonzalez, R.docxCSCI 340 Final Group ProjectNatalie Warden, Arturo Gonzalez, R.docx
CSCI 340 Final Group ProjectNatalie Warden, Arturo Gonzalez, R.docx
mydrynan
 
CSC-321 Final Writing Assignment In this assignment, you .docx
CSC-321 Final Writing Assignment  In this assignment, you .docxCSC-321 Final Writing Assignment  In this assignment, you .docx
CSC-321 Final Writing Assignment In this assignment, you .docx
mydrynan
 
Cryptography is the application of algorithms to ensure the confiden.docx
Cryptography is the application of algorithms to ensure the confiden.docxCryptography is the application of algorithms to ensure the confiden.docx
Cryptography is the application of algorithms to ensure the confiden.docx
mydrynan
 
CSc3320 Assignment 6 Due on 24th April, 2013 Socket programming .docx
CSc3320 Assignment 6 Due on 24th April, 2013 Socket programming .docxCSc3320 Assignment 6 Due on 24th April, 2013 Socket programming .docx
CSc3320 Assignment 6 Due on 24th April, 2013 Socket programming .docx
mydrynan
 

Mehr von mydrynan (20)

CSIA 413 Cybersecurity Policy, Plans, and Programs.docx
CSIA 413 Cybersecurity Policy, Plans, and Programs.docxCSIA 413 Cybersecurity Policy, Plans, and Programs.docx
CSIA 413 Cybersecurity Policy, Plans, and Programs.docx
 
CSIS 100CSIS 100 - Discussion Board Topic #1One of the object.docx
CSIS 100CSIS 100 - Discussion Board Topic #1One of the object.docxCSIS 100CSIS 100 - Discussion Board Topic #1One of the object.docx
CSIS 100CSIS 100 - Discussion Board Topic #1One of the object.docx
 
CSI Paper Grading Rubric- (worth a possible 100 points) .docx
CSI Paper Grading Rubric- (worth a possible 100 points)   .docxCSI Paper Grading Rubric- (worth a possible 100 points)   .docx
CSI Paper Grading Rubric- (worth a possible 100 points) .docx
 
CSIA 413 Cybersecurity Policy, Plans, and ProgramsProject #4 IT .docx
CSIA 413 Cybersecurity Policy, Plans, and ProgramsProject #4 IT .docxCSIA 413 Cybersecurity Policy, Plans, and ProgramsProject #4 IT .docx
CSIA 413 Cybersecurity Policy, Plans, and ProgramsProject #4 IT .docx
 
CSI 170 Week 3 AssingmentAssignment 1 Cyber Computer CrimeAss.docx
CSI 170 Week 3 AssingmentAssignment 1 Cyber Computer CrimeAss.docxCSI 170 Week 3 AssingmentAssignment 1 Cyber Computer CrimeAss.docx
CSI 170 Week 3 AssingmentAssignment 1 Cyber Computer CrimeAss.docx
 
CSE422 Section 002 – Computer Networking Fall 2018 Ho.docx
CSE422 Section 002 – Computer Networking Fall 2018  Ho.docxCSE422 Section 002 – Computer Networking Fall 2018  Ho.docx
CSE422 Section 002 – Computer Networking Fall 2018 Ho.docx
 
CSCI  132  Practical  Unix  and  Programming   .docx
CSCI  132  Practical  Unix  and  Programming   .docxCSCI  132  Practical  Unix  and  Programming   .docx
CSCI  132  Practical  Unix  and  Programming   .docx
 
CSCI 714 Software Project Planning and EstimationLec.docx
CSCI 714 Software Project Planning and EstimationLec.docxCSCI 714 Software Project Planning and EstimationLec.docx
CSCI 714 Software Project Planning and EstimationLec.docx
 
CSCI 561Research Paper Topic Proposal and Outline Instructions.docx
CSCI 561Research Paper Topic Proposal and Outline Instructions.docxCSCI 561Research Paper Topic Proposal and Outline Instructions.docx
CSCI 561Research Paper Topic Proposal and Outline Instructions.docx
 
CSCI 561 DB Standardized Rubric50 PointsCriteriaLevels of .docx
CSCI 561 DB Standardized Rubric50 PointsCriteriaLevels of .docxCSCI 561 DB Standardized Rubric50 PointsCriteriaLevels of .docx
CSCI 561 DB Standardized Rubric50 PointsCriteriaLevels of .docx
 
CryptographyLesson 10© Copyright 2012-2013 (ISC)², Inc. Al.docx
CryptographyLesson 10© Copyright 2012-2013 (ISC)², Inc. Al.docxCryptographyLesson 10© Copyright 2012-2013 (ISC)², Inc. Al.docx
CryptographyLesson 10© Copyright 2012-2013 (ISC)², Inc. Al.docx
 
CSCI 352 - Digital Forensics Assignment #1 Spring 2020 .docx
CSCI 352 - Digital Forensics Assignment #1 Spring 2020 .docxCSCI 352 - Digital Forensics Assignment #1 Spring 2020 .docx
CSCI 352 - Digital Forensics Assignment #1 Spring 2020 .docx
 
CSCE 1040 Homework 2 For this assignment we are going to .docx
CSCE 1040 Homework 2  For this assignment we are going to .docxCSCE 1040 Homework 2  For this assignment we are going to .docx
CSCE 1040 Homework 2 For this assignment we are going to .docx
 
CSCE509–Spring2019Assignment3updated01May19DU.docx
CSCE509–Spring2019Assignment3updated01May19DU.docxCSCE509–Spring2019Assignment3updated01May19DU.docx
CSCE509–Spring2019Assignment3updated01May19DU.docx
 
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docxCSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
 
CSCE 3110 Data Structures & Algorithms Summer 2019 1 of .docx
CSCE 3110 Data Structures & Algorithms Summer 2019   1 of .docxCSCE 3110 Data Structures & Algorithms Summer 2019   1 of .docx
CSCE 3110 Data Structures & Algorithms Summer 2019 1 of .docx
 
CSCI 340 Final Group ProjectNatalie Warden, Arturo Gonzalez, R.docx
CSCI 340 Final Group ProjectNatalie Warden, Arturo Gonzalez, R.docxCSCI 340 Final Group ProjectNatalie Warden, Arturo Gonzalez, R.docx
CSCI 340 Final Group ProjectNatalie Warden, Arturo Gonzalez, R.docx
 
CSC-321 Final Writing Assignment In this assignment, you .docx
CSC-321 Final Writing Assignment  In this assignment, you .docxCSC-321 Final Writing Assignment  In this assignment, you .docx
CSC-321 Final Writing Assignment In this assignment, you .docx
 
Cryptography is the application of algorithms to ensure the confiden.docx
Cryptography is the application of algorithms to ensure the confiden.docxCryptography is the application of algorithms to ensure the confiden.docx
Cryptography is the application of algorithms to ensure the confiden.docx
 
CSc3320 Assignment 6 Due on 24th April, 2013 Socket programming .docx
CSc3320 Assignment 6 Due on 24th April, 2013 Socket programming .docxCSc3320 Assignment 6 Due on 24th April, 2013 Socket programming .docx
CSc3320 Assignment 6 Due on 24th April, 2013 Socket programming .docx
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 

CSE2CSE5ALG– Algorithms and Data Structures – 2020 Assignme.docx

  • 1. CSE2/CSE5ALG– Algorithms and Data Structures – 2020 Assignment – Part 2 Assessment: This part 2 of the assignment is worth 20% of the final mark for this subject. Due Date: 29 May 2020, Friday, at 10:00 AM Delays caused by computer downtime cannot be accepted as a valid reason for a late submission without penalty. Students must plan their work to allow for both scheduled and unscheduled downtime. Late submission policy does NOT apply to this assignment. Copying, Plagiarism: Plagiarism is the submission of somebody else’s work in a manner that gives the impression that the work is your own. The Department of CS and IT treats academic misconduct seriously. When it is detected, penalties are strictly imposed. Submission Details: Submit all the Java files that are required for the tasks described in this handout. The code has to run under Unix on the latcs8 machine. You submit your files from your latcs8 account. Make sure you are in the same directory as the files you are submitting. Submit each file separately using the submit command. For example, for the file called (say) WordMatch.java, use command:
  • 2. submit ALG WordMatch.java After submitting the files, you can run the following command that lists the files submitted from your account: verify You can submit the same filename as many times as you like before the assignment deadline; the previously submitted copy will be replaced by the latest one. Testing Platform: While you are free to develop the code for this assignment on any operating system, your solution must run on the latcs8 system. We should be able to compile your classes with the simple command javac *.java, and execute your programs with command -line arguments, e.g. java WordMatch in1.txt out1.txt in2.txt out2.txt. Return of Assignment: The tutor is to mark your assignment with a marking sheet in a face-to- face pattern during the lab classes in Week 12. You will be notified with your mark immediately after marking. If you have any doubt your mark, please raise it to the tutor before your lab class ends. Any post-lab inquiry will NOT be accepted. Assignment Objectives • To understand various data structures and searching and sorting techniques; • To analyse these techniques in relation to a particular problem;
  • 3. • To implement these techniques within a Java program. 1 Background As described in the handout for Part 1, the primary goal of the assignment is to develop a program to build a lexicon and to find the words that match certain patterns. Whereas for Part 1 we considered the correctness only, for Part 2 we are concerned with the efficiency. Specifically, you are required to do the tasks described below. Besides the information given in the tasks below, please refer to Part 1 of the Assignment for any other information you need. Task 1 Write a Java program called WordMatch.java. This program takes four command-line arguments. For example: java WordMatch in1.txt out1.txt in2.txt out2.txt 1. The first is the name of a text file that contains the names of AT LEAST TWO text files (each per line) from which the words are to be read to build the lexicon (The argument is to specify the input files).
  • 4. 2. The second is the name of a text file to which the words in the lexicon are to be written (The argument is to specify the file containing the words and the neighbors in the lexicon). 3. The third is the name of a text file that contains ONLY ONE matching pattern (The argument is to specify the file containing the matching pattern). 4. The fourth is the name of the text file that contains the result of the matching for the given pattern (The argument specifies the file containing the output). For this version, the efficiency with which the program performs various operations is a major concern, i.e. the sooner the program performs (correctly), the better. For example, the files read in can be quite long and the lexicon of words can grow to be quite lengthy. Time to insert the words will be critical here and you will need to carefully consider which algorithms and data structures you use. You can use any text files for input to this program. A good source of long text files is at the Gutenberg project (www.gutenberg.com) which is a project aimed to put into electronic form older literary works that are in the public domain. The extract from Jane Austen’s book Pride and Prejudice used as the sample text file above was sourced from this web site. You should choose files of lengths suitable for providing good information about the efficiency of your program. A selection of test files have been posted on LMS for your
  • 5. efficiency testing. You can consider additional test files if you wish. As expected, the definition of a word, and the content of a query’s result and display of this result are exactly the same as what described in Assignment Part 1. All the Java files must be submitted. The program will be marked on correctness and efficiency. Bad coding style and documentation may have up 5 marks deducted. With the exceptions of ArrayList and LinkedList, you are NOT permitted to use any of the classes in the Java Collections Framework, e.g. TreeMap, HashMap, Collections, Arrays. Violation of this requirement may lead to a mark of ZERO. 2 3 Task 2 (CSE5ALG students only) Consider the B-trees of order M . Assume that we have the following result, which we will refer to asLemma1. ⌉ .Lemma 1: The barest B-tree of height H contains N = 2K H − 1 elements, where K = ⌈ M 2
  • 6. Determine the height's upper bound for a B-tree of order 23 which has 10, 000, 000 = 107 elements. You must give an integer value as the height's upper bound for the B-tree. You are not allowed to use the result given in the lecture regarding the upper bound for B- tree’s height. Instead, you must work out the answer using Lemma 1 above. Note: The total mark for Part 2 will be 100 for CSE2ALG students and 125 (100 for Task 1 and 25 for Task 2) for CSE5ALG students. The percentage of contribution to the final will be the same, i.e. 20%. In your solution to Task 2, as well as in every Java class, you must include your student ID and name, and the subject code. How to submit your solution to Task 2: Your solution should be a PDF file named Task2.pdf, and be submitted using the same command submit ALG, i.e. submit ALG Task2.pdf Marking Scheme Your assignment is to be marked according to a marking sheet. Please check the example marking sheet on the LMS subject page for details.