Talk:Binary search tree/GA3

Latest comment: 2 years ago by Mhawk10 in topic GA Review

GA Review

edit
GA toolbox
Reviewing

Article (edit | visual edit | history) · Article talk (edit | history) · Watch

Reviewer: Mhawk10 (talk · contribs) 05:16, 14 May 2022 (UTC)Reply


Hello! I'll take a look at this article and give feedback over the next couple of days. — Ⓜ️hawk10 (talk) 05:16, 14 May 2022 (UTC)Reply

@Mhawk10: Thanks for taking this one. If there are any copy edits, improvements or changes you want to be made, please let me know. I'll make the revisions ASAP. --WikiLinuz {talk} 🍁 12:44, 14 May 2022 (UTC)Reply
@WikiLinuz: I've placed the article on-hold, per below. I'm still working through and spot-checking refs, though there are going to need to be some improvements made if this is going to become a GA. — Ⓜ️hawk10 (talk) 18:30, 16 May 2022 (UTC)Reply
@Mhawk10: Thanks. Keep them posted, I'll incrementally make those requested changes within the standard seven days on-hold period. --WikiLinuz {talk} 🍁 18:33, 16 May 2022 (UTC)Reply
Rate Attribute Review Comment
1. Well-written:
  1a. the prose is clear, concise, and understandable to an appropriately broad audience; spelling and grammar are correct.

No spelling or grammar errors that I can detect on another read through, aside from the issue I'm raising in the area on original research. Once that's fine, this should be good to go from a prose quality perspective. — Ⓜ️hawk10 (talk) 04:51, 14 June 2022 (UTC)Reply

Resolved. — Ⓜ️hawk10 (talk) 05:48, 14 June 2022 (UTC)Reply
  1b. it complies with the Manual of Style guidelines for lead sections, layout, words to watch, fiction, and list incorporation. There are issues with compliance with MOS:LEAD. The lead does not include any materials from the "Examples of Applications", "Types", and "History" sections, while it probably should. The length of the lead was something that was noted in Talk:Binary search tree/GA1 but has not been fixed. This technically would be enough for a quick fail, though it's often best to re-write the lead after all of the other fixes are made so I think it's best to WP:IAR and put this on hold rather than give a quick fail. — Ⓜ️hawk10 (talk) 02:53, 16 May 2022 (UTC)Reply
Again, still no mention of the history in the lead. Why? — Ⓜ️hawk10 (talk) 04:51, 14 June 2022 (UTC)Reply
Resolved. — Ⓜ️hawk10 (talk) 05:48, 14 June 2022 (UTC)Reply
2. Verifiable with no original research:
  2a. it contains a list of all references (sources of information), presented in accordance with the layout style guideline. There indeed is a references section that is MOS-compliant. — Ⓜ️hawk10 (talk) 18:32, 16 May 2022 (UTC)Reply
  2b. reliable sources are cited inline. All content that could reasonably be challenged, except for plot summaries and that which summarizes cited content elsewhere in the article, must be cited no later than the end of the paragraph (or line if the content is not in prose). All of the citations that are in the document are reliable sources. — Ⓜ️hawk10 (talk) 00:01, 24 May 2022 (UTC)Reply
  2c. it contains no original research. The second edition of the MIT textbook that is cited for the Tree-Predecessor pseudocode is left as an exercise to the reader (Exercise 12.2-3) in the cited textbook. While the text notes that "The procedure TREE-PREDECESSOR, which is symmetric to TREE-SUCCESSOR", the citation is a bit weak to support the specific pseudocode in the article. — Ⓜ️hawk10 (talk) 01:51, 16 May 2022 (UTC)Reply
Also, can you show that the "tree-deletion" pseudocode operates the same as the "TREE-DELETE" pseudocode in the cited source? If so, it's fine as a routine calculation, but this is something that you are going to need to demonstrate here. — Ⓜ️hawk10 (talk) 01:51, 16 May 2022 (UTC)Reply
Binary search trees support three main operations: lookup (checking whether a key is present), insertion, and deletion of an element. The latter two possibly change the structural arrangement of the nodes in the tree, whereas the first one is a navigating and read-only operation. Other read-only operations are traversal, verification, etc. needs a citation. The end of that sentence also probably could be improved flow-wise. — Ⓜ️hawk10 (talk) 00:01, 24 May 2022 (UTC)Reply
Again, this still should have a citation and should still be rephrased. — Ⓜ️hawk10 (talk) 04:51, 14 June 2022 (UTC)Reply
This has been made moot by the removal of the material. — Ⓜ️hawk10 (talk) 05:48, 14 June 2022 (UTC)Reply
  2d. it contains no copyright violations or plagiarism. I've acquired a copy of Introduction to Algorithms, Second Edition. The cited pages of the book appear to give pseudocode that contains the same function names as are in the book, though the pseudocode itself is transformed so as to not be a verbatim copy of what's in the book. The book was published in the United States, so the copyrights are exclusively governed by U.S. law. Copyrights in the United States are not valid when there are a very limited set of ways in which an idea can be expressed, so the pseudocode for those algorithms per se is not eligible under copyright protection. However, the choice to use "Tree-Search" for the name of the recursive search function and "Iterative-Tree-Search" for the iterative search function alongside the use of "Tree-Successor", "Tree-Maximum", "Tree-Minimum", "Tree-Insert", "Tree-Delete", and " probably extends beyond this limited exception to copyright—it's certainly possible to give the functions different names than are given in the MIT textbook. — Ⓜ️hawk10 (talk) 01:51, 16 May 2022 (UTC)Reply
This issue has been remediated. — Ⓜ️hawk10 (talk) 05:48, 14 June 2022 (UTC)Reply

If you'd like to take action against a source that copied Wikipedia without attribution, this medium post showed 67% similarity to this article on WP:EARWIG. This is a case of a publication copying Wikipedia, so it does not pose an issue for the article's promotion to GA. — Ⓜ️hawk10 (talk) 02:05, 16 May 2022 (UTC)Reply

3. Broad in its coverage:
  3a. it addresses the main aspects of the topic. There is a lot written about self-balancing binary search trees in the academic literature, which appears to be a child topic of this article. The current article addresses this topic within the "types" section, but it doesn't really go in-depth into it. It also isn't quite structured like the typical parent-child article relation (for example, with the {{main article}} template as a header of a section or sub-section). — Ⓜ️hawk10 (talk) 02:14, 16 May 2022 (UTC)Reply
Similarly, the history section is really short. It might be worthwhile to briefly describe the history of the major variants of the binary search tree as well; Red-Black Trees, AVL Trees, etc. are worth prominently mentioning in this article and might be helpful in expanding the history section beyond a sentence. — Ⓜ️hawk10 (talk) 02:44, 16 May 2022 (UTC)Reply
I like the way that you handled making this more like a summary style article and I think it more appropriately balances these sorts of things. — Ⓜ️hawk10 (talk) 04:51, 14 June 2022 (UTC)Reply
  3b. it stays focused on the topic without going into unnecessary detail (see summary style). The article seems to have no problems here. — Ⓜ️hawk10 (talk) 04:51, 14 June 2022 (UTC)Reply
  4. Neutral: it represents viewpoints fairly and without editorial bias, giving due weight to each. Looks fine as of now. — Ⓜ️hawk10 (talk) 02:34, 16 May 2022 (UTC)Reply
  5. Stable: it does not change significantly from day to day because of an ongoing edit war or content dispute. I don't see any edit warring recently. — Ⓜ️hawk10 (talk) 02:35, 16 May 2022 (UTC)Reply
6. Illustrated, if possible, by media such as images, video, or audio:
  6a. media are tagged with their copyright statuses, and valid non-free use rationales are provided for non-free content. The images used in the article are tagged with their copyright status. — Ⓜ️hawk10 (talk) 18:30, 16 May 2022 (UTC)Reply
  6b. media are relevant to the topic, and have suitable captions. Images pertain to the material and have policy-compliant captions. — Ⓜ️hawk10 (talk) 18:30, 16 May 2022 (UTC)Reply
  7. Overall assessment. On hold for now. — Ⓜ️hawk10 (talk) 18:30, 16 May 2022 (UTC)Reply
Passed! — Ⓜ️hawk10 (talk) 05:48, 14 June 2022 (UTC)Reply
@Mhawk10:
  • 1b - I've copy-edited the lead to include information from other sections.
  • 2c - I've added additional references for the predecessor pseudocode. The "BST-Delete" is nearly identical to that of the sourced material, and the only variant is the internal call to "TRANSPLANT", which is "Shift-Nodes" in the article.
  • 2d - I've modified the subroutine names.
  • 3a - I've rewritten the history section to include self-balancing aspects, and also copy-edited the "types" section.
--WikiLinuz {talk} 🍁 04:13, 20 May 2022 (UTC)Reply
@WikiLinuz: thank you for the ping! I'll take another look through and give more feedback when I get a chance. — Ⓜ️hawk10 (talk) 04:24, 20 May 2022 (UTC)Reply

A drive-by comment (re GACR 3a or maybe 4): The coverage of optimal binary search trees is currently totally inadequate. It is ungrammatical (the first noun phrase of the first sentence is missing its article). It fails to properly describe the problem (optimal in this context means in terms of average time with respect to some distribution or sequence of updates, not worst case time). It is misclassified under "self-balancing" (much of the work in this area is on static algorithms for constructing these trees, not on self-balancing trees). It fails to mention the time bounds for these static problems, or even the basic fact that these trees can be constructed in polynomial time. It fails to mention the connection to online algorithms and competitive ratios via the dynamic optimality conjecture for splay trees and greedy-ass trees and tango trees. If this is representative of the whole article I can see why this is on its third review after two previous contentious reviews — this is a level of unreadiness for GA that cosmetic edits alone won't fix. —David Eppstein (talk) 18:38, 22 May 2022 (UTC)Reply

I've taken a note of your comment on the optimal BST. But I don't think I can access Wikipedia for a day or two since I'm facing power outage for 2 days due to a major storm in Toronto area. I'm not sure when the power will be back.

https://www.bbc.com/news/world-us-canada-61541653.amp WikiLinuz-mobile (talk) 21:35, 22 May 2022 (UTC)Reply

@WikiLinuz-mobile: Stay safe! I can keep this on hold for as long as need be to make the changes. — Ⓜ️hawk10 (talk) 21:43, 22 May 2022 (UTC)Reply
@Mhawk10: Thank you. Power is back in my neighborhood, I'll be working on the mentioned remarks starting today. --WikiLinuz {talk} 🍁 09:21, 25 May 2022 (UTC)Reply
@Mhawk10: I've made substantial revisions to the particular section in question, shortened the body, and removed UNDUE text. As a result, I've decided to confine the article to BST. Please take a look at the current revision and let me know if you like some changes. --WikiLinuz {talk} 🍁 05:10, 6 June 2022 (UTC)Reply
I will take a look through over the next couple of days. — Ⓜ️hawk10 (talk) 05:38, 7 June 2022 (UTC)Reply
@Mhawk10: I received a notice from Legobot on the 8th saying that the nomination would automatically fail in 7 days. It's been five days (June 13th), so it'd be great if you could look through and note any changes before auto-fail. Thanks. --WikiLinuz {talk} 🍁 23:25, 13 June 2022 (UTC)Reply
Hi! I'll get to that tonight. I promise it won't auto-fail you; the only way that it would fail is if I (or another reviewer) were to fail it. — Ⓜ️hawk10 (talk) 23:26, 13 June 2022 (UTC)Reply
@WikiLinuz: I've updated the table above. I'm still not seeing any mention of the history section in the lead, which for me constitutes an MOS:LEAD violation. Please remediate this and the other issues that remain. — Ⓜ️hawk10 (talk) 04:51, 14 June 2022 (UTC)Reply
@Mhawk10:
  • 2c: That paragraph merely states the operations within the sub-section. But I think the operations themselves are self-explanatory and don't need a secondary introduction, so I've taken them away.
  • 1b: I've copy-edited to include things from the history section in the lead (regarding attribution and invention of the self-balancing variants to address a critical issue that BST suffers from). Please let me know if you'd like something else to be summarized in the lead.
--WikiLinuz {talk} 🍁 05:44, 14 June 2022 (UTC)Reply
Passed! Congrats on the GA. — Ⓜ️hawk10 (talk) 05:48, 14 June 2022 (UTC)Reply