Comments (4)
It should be relevant, it is setting a delimiter whether to continue, fall back or if nodeToRemove
is actually the last one. The question about whether it must be null
depends on the properties left
and right
. If right
is null, that means there are no nodes beyond the current one, nodeToRemove
and is the last one.
Sorry, if I am not clear enough.
from javascript-algorithms.
Thanks for the explanation, @intern0t .
For clarity, please specify these things:
Should these properties of the returned object correspond to the tree state before the node is deleted or after?
For example, is it correct to change the right
property here?
Same question to the value
property:
Also, if you add this check to the BinarySearchTreeNode.test.js, it will fail:
it('should return removed node containing a value that should have been deleted', () => {
const bstRootNode = new BinarySearchTreeNode();
bstRootNode.insert(10);
bstRootNode.insert(20);
bstRootNode.insert(30);
bstRootNode.insert(15);
const removedNode1 = bstRootNode.remove(20);
expect(removedNode1.value).toBe(20);
});
from javascript-algorithms.
I think that properties of the returned object correspond to the tree state before the node is deleted.
110. nodeToRemove.value = nodeToRemove.right.value;
You have changed the value of nodeToRemove
with the value that has to be replaced (in the example you have mentioned, 30).Now when you return nodeToRemove.value
it would return 30 whereas 20 was expected. Instead return parent
from javascript-algorithms.
Yes, you right @m-maksyutin, there is an uncertainty in removal method. To avoid similar confusion I've changed the code so that removal method will return boolean (whether node has been successfully deleted or not). Because returning the node truly brings confusion about its value, left, right and parent properties.
from javascript-algorithms.
Related Issues (20)
- I don't see kadane's algorithm for maximum subarray sum HOT 5
- Small code errors for the LinkedList and HashTable data structures HOT 3
- Translation to Khmer HOT 3
- 1P03 Java HOT 1
- All-algorithms
- Изучить 2.
- Translation of documents to Urdu, Hindi & Roman-Urdu HOT 2
- NO code available for Longest Increasing Subsequence HOT 6
- How to use the repository HOT 2
- Add Animations to Algorithms
- Binary Search file, comment typo HOT 3
- JS Data structure And Algorithms HOT 1
- priorityQueue does not poll out as expected HOT 4
- Javadcript
- Typo in Portuguese README
- Data structures and algorithms by JavaScript
- Would be great to see `discussions` tab brought to this repository
- JavaScript HOT 3
- Traverse in Reverse is unnecessary complex HOT 4
- Unhandled Edge Case in Binary Search Implementation HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from javascript-algorithms.