Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
cse332-18au
p1
Commits
ce86ec25
Commit
ce86ec25
authored
Jan 14, 2016
by
Adam Blank
Browse files
Merge branch 'bugfix-jan-14' into 'master'
Bugfix jan 14 See merge request !3
parents
e168c273
21674cb3
Changes
5
Hide whitespace changes
Inline
Side-by-side
SuffixTrie.jar
View file @
ce86ec25
No preview for this file type
src/cse332/interfaces/trie/TrieMap.java
View file @
ce86ec25
...
...
@@ -203,7 +203,11 @@ public abstract class TrieMap<A, K extends BString<A>, V> extends Dictionary<K,
}
public
String
toString
()
{
return
this
.
root
.
toString
();
if
(
this
.
root
==
null
)
{
return
"null"
;
}
else
{
return
this
.
root
.
toString
();
}
}
}
src/cse332/jazzlib/HuffmanCompressor.java
View file @
ce86ec25
...
...
@@ -107,7 +107,17 @@ public class HuffmanCompressor
}
public
int
compareTo
(
Node
other
)
{
return
this
.
freq
-
other
.
freq
;
int
result
=
this
.
freq
-
other
.
freq
;
if
(
result
!=
0
)
{
return
result
;
}
if
(
this
.
value
==
null
)
{
return
1
;
}
else
if
(
other
.
value
==
null
)
{
return
-
1
;
}
return
this
.
value
.
compareTo
(
other
.
value
);
}
}
void
reset
()
{
...
...
src/datastructures/SuffixTrie.java
View file @
ce86ec25
...
...
@@ -32,8 +32,7 @@ public class SuffixTrie extends HashTrieMap<Byte, ByteString, Boolean> {
* To do this, we gradually shift elements from buffer to match as we
* determine that they are actually a match to a suffix in the trie.
*
* @postcondition pre(buffer) + pre(currentMatch) == post(buffer) + post(currentMatch)
* @postcondition currentMatch == suffix + b for the longest possible _partial_
* @postcondition currentMatch == suffix + b for the longest possible _partial_
* suffix in the trie and some single byte b
* @postcondition the node representing the last matched character in the trie
* is stored in this.lastMatchedNode (we might need this later)
...
...
@@ -52,9 +51,9 @@ public class SuffixTrie extends HashTrieMap<Byte, ByteString, Boolean> {
* Then, the longest match is "abc", but this isn't a complete word in the trie.
* There is definitely a match; it's just a partial one.
*
*
Regardless i
f you f
ou
nd a
complete match or a partial match, you should return
*
the total number of bytes you've matched against the buffer
.
*
*
I
f you f
i
nd a
COMPLETE match, you should return the total number of bytes you've
*
matched against the buffer. Otherwise, you should return zero
.
*
* When implementing this method, you should start by resetting this.lastMatchedNode,
* then start traversing from the root of the trie to try finding the new match. You
* should not traverse starting from the old value of this.lastMatchedNode. Make sure
...
...
@@ -119,7 +118,8 @@ public class SuffixTrie extends HashTrieMap<Byte, ByteString, Boolean> {
* Adds the given byte to this.currentMatch. This method should
* NOT change this.lastMatchedNode.
*
* @precondition this.currentMatch.isFull() == false
* If the client tries adding a byte after this.currentMatch is full,
* you should do nothing.
*
* @param b the byte to add
*/
...
...
@@ -155,15 +155,12 @@ public class SuffixTrie extends HashTrieMap<Byte, ByteString, Boolean> {
*
* 1. If the contents of the suffixtrie are at full capacity,
* shift off a byte and remove the whole word from the trie
* 2. Append b to the end of every stored node
.
* 2. Append b to the end of every stored node
* 3. Re-insert the empty string back into the trie
*
* HINT: be sure to pay careful attention to how exactly you are updating
* your various fields, and how exactly they interact with one another. See the
* example and descriptions in the spec for more details about this method.
*
* @postcondition currentMatch.hasWork() == false
* @postcondition pre(current contents) + pre(currentMatch) == (shifted off) + post(current contents) + post(currentMatch)
*/
public
void
advance
()
{
throw
new
NotYetImplementedException
();
...
...
src/tests/gitlab/duedate/HashTrieMapTests.java
View file @
ce86ec25
...
...
@@ -390,7 +390,9 @@ public class HashTrieMapTests extends TestsUtility {
STUDENT
.
delete
(
a
(
"f"
));
if
(!
equals
(
node
(),
getField
(
STUDENT
,
"root"
)))
{
boolean
rootIsSingleNode
=
equals
(
node
(),
getField
(
STUDENT
,
"root"
));
boolean
rootIsNull
=
equals
(
null
,
getField
(
STUDENT
,
"root"
));
if
(!(
rootIsSingleNode
||
rootIsNull
))
{
return
0
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment