Talk:Data structure

Routing tables
Can someone who is a little more familiar with routing tables as data structures take the initiative to clarify this sentence?
 * For example, B-trees are particularly well-suited for implementation of databases, while routing tables rely on networks of machines to function.

The linked article does not really discuss routing tables as a data structure so much as it examines their role in the network ecosystem. "while routing tables enable networks of machines to function" describes their function better, it doesn't really say anything about routing tables as data structures. Perhaps another example altogether would be better?

--gortsack 18:24, 18 April 2006 (UTC)

Haphazard Categorization
My categorization scheme for the links from this page is rather haphazard. If anyone has good ideas on how to organize it, be bold. --BlckKnght

It may be even more haphazard now. Just moved to this page the section on "data tables and functions" from the structure page. It was way too complex for that other page. I didn't attempt to merge it with the prior info on this page, but this is probably needed. --Panchobook (talk) 23:40, 23 June 2011 (UTC)

Desktop file browser dream
(omitted discussion of my dream of how a Desktop File Browser and integrated Web Browser should be designed) brettz9


 * Hi Brett, you raise some interesting points here; what would make things a bit closer to this vision is a better file browser widget for Mozilla, but who knows if/when this will happen. Anyway, since this text represents your own philosophy, it cannot follow Wikipedia's neutral point of view policy. The place for this article is on the Meta-Wikipedia. -- Merphant 12:52 Jan 21, 2003 (UTC)

Thanks for the suggestions...However, as far as I could tell, Meta-Wikipedia seemed just concerned about general things of concern to Wikipedia itself rather than its specific content.

I was also told that it was all right to put opinions and such in the discuss pages such as this.


 * On further reflection, I have come to the thought that discuss pages should probably be limited to debating the content that is appropriate at the site even if opinions are permitted (in order to allow for this discussion to take place without too many distractions). Maybe in the absence of a universal categorized wiki site for sharing idea and invention concepts, a person could just put an external link at the wikipedia page in question (leading to an individual's wiki site or Usenet discussion, etc. dedicated to sharing ideas on that wikipedia page's topic (e.g., computer science)) brettz9

List of data structures
I changed the line "This is an incomplete list of data structures:", because it is unprofessionial. &mdash;Noldoaran (Talk) 22:15, Feb 14, 2004 (UTC)

In line with standard practice here, the list of data structures should be a free-standing page, separate from this one.

Charles Matthews 09:52, 3 May 2004 (UTC)


 * Right. What holds you up to do so? Anyway, I have separated the list. -- Taku 10:02, May 3, 2004 (UTC)

Node merge
The article on Node_(computer_science) contains little info. Ripper234 20:29, 2 April 2006 (UTC)

DEAR WIKIPEDIA PPL. perhaps you should tell me what the fuck a NODE IS instead of telling me that it links to other shit and does other shit. —The preceding unsigned comment was added by 140.180.153.198 (talk • contribs) 04:24, 6 April 2006 (UTC).

DEAR UNINFORMED IDIOT. something that 'links to shit and does other shit' is exactly 'what the fuck' a node is. enjoy —The preceding unsigned comment was added by 81.132.20.207 (talk • contribs) 13:28, 8 April 2006 (UTC).

I'm un-merging the node article. 140.180.153.198 has a point, that nodes themselves deserve an explanation. --Snarius 23:33, 3 August 2006 (UTC)

Link removal
SOMEONE removed this important link http://www.alnaja7.org/Programmer/215/ITCS_215.htm, is there any reason ??Alhoori 19:01, 20 May 2006 (UTC)
 * It's a link to your personal site; your recent edits suggest that you are trying to use Wikipedia to promote it. Can you explain why you think it's so important?  OhNo itsJamie Talk 20:27, 20 May 2006 (UTC)


 * Do you know data structure ? can you give me an easy explanation of it ? why you don't like others to benefit from any information ? did you read the links ? did you see how easy they are explained ? If you can explain the data structure topic easier than that, then please remove my link ! Alhoori 21:45, 20 May 2006 (UTC)
 * Yes, as a matter of fact, I use standard Java data structures (and write custom ones) on a daily basis. This article (and the few .edu external links) explain them just fine for an encyclopedia article. Once again, WIkipedia is not a vehicle to promote your personal website.  OhNo  itsJamie Talk 22:00, 20 May 2006 (UTC)


 * Until now u didn't give a good reason, why you removed the links . Does it matter if a useful personal site ? why don't you do a useful tutorial so that you add it ? I taught DS course for 3 years , so I believe this tutorial should be there . Moreover , it already was there for around 2 months ago , until the site have problems 2 days ago . Alhoori 01:12, 21 May 2006 (UTC)

If the content is good it should be there. I haven't checked it, though.

Link removal
Please tell me what is wrong about the following link which is removed 3 times? C#, Python, Ruby
 * Bruno R. Preiss, Data Structures and Algorithms with Object-Oriented Design Patterns in C++, Java,

I am not promoting anything and I don't know the author either. This is just a useful link to some valuable academic content, and the author has put his work freely for people to use and learn. So what is undesirable for you about it that you remove it everytime?

If you're going to remove it again, please also give an answer here. Previous unsigned comment by Special:Contributions/69.108.125.234

Alternative definition
data structure is a collection of d,f,a.means that D(Domain),F(Function),A(Axioms) D=this is the range of values that the data may have.this domain is also termed as data object. F=this is set of operation which may legally be applied to elements of data object.this implies that for a data structure we must specified the set of operations. A=this is the set of rules with which the different operation belongs to F actually can be implemented. —The preceding unsigned comment was added by Special:Contributions/ (talk)
 * This is *one* possible definition of *abstract* data *type*, a concept of formal semantics or type theory that aims to hide the implementation and machine details. A data *structure* is a "concrete" concept, that makes sense even for assembly- or machine-language and where implementation details are essential. All the best, --Jorge Stolfi (talk) 05:10, 28 January 2010 (UTC)
 * I am not happy with the confusion of data structures and data types in the article. Data structures and data types are different things. Furthermore, with abstract data types, data structures are not implicitly defined either - they are not defined at all, at least not from the client point of view. However, data structures are used to implement (abstract) data types. If people agree with this view, I can edit the article. Rehms (talk) 15:57, 31 August 2014 (UTC)

Vague tags
The following editorial tags were added to this article:

Would the editor please be more specific? (Note that if a statement about XXX includes a wikilink to the XXX article, and that article makes the same statement with a reference, then the first statement is not "unreferenced".) Thanks, and all the best, --Jorge Stolfi (talk) 05:03, 28 January 2010 (UTC)

Data structure support in IBM/360 assembly language
Someone tagged as the assertion that "Assembly languages generally lack support for data structures", noting (in an invisible comment) that "IBM/360 didn't lack support 40 years ago". Perhaps the statement was ambiguous; what was meant is that A.L. do not generally provide special syntax for complex data structures such as arrays and lists. Obviously they do provide syntax for bulk storage allocation, indexing and address computation. Features that are implemented through macro libraries do not count as *language* features. (By comparison, the C language provides facilities for arrays and records, but not for linked lists or trees --- even though one can implement such data structures in C as library types and procedures.) Does this answer the comment? Should the sentence be reworded for clarity? All the best, --Jorge Stolfi (talk) 12:55, 1 February 2010 (UTC)
 * The OS/360 and successor assemblers provide DSECT, which is a way to give symbolic names to offsets. They are commonly used with the data structures of OS/360 itself, especially the DCB. A DSECT assembles pretty much the same way as a CSECT (actual code or data to be generated) but doesn't generate any object program. This works naturally with the base-displacement addressing of S/360, as you point a register somewhere, and tell the assembler which data structure to use, to generate offsets. I would expect that this would have been copied into other assemblers, but I haven't tried them all. OS/360 is getting close to 60 years old now. Maybe it still isn't most, though. Gah4 (talk) 19:51, 30 August 2023 (UTC)
 * The OS/360 and successor assemblers provide DSECT, which is a way to give symbolic names to offsets. They are commonly used with the data structures of OS/360 itself, especially the DCB. A DSECT assembles pretty much the same way as a CSECT (actual code or data to be generated) but doesn't generate any object program. This works naturally with the base-displacement addressing of S/360, as you point a register somewhere, and tell the assembler which data structure to use, to generate offsets. I would expect that this would have been copied into other assemblers, but I haven't tried them all. OS/360 is getting close to 60 years old now. Maybe it still isn't most, though. Gah4 (talk) 19:51, 30 August 2023 (UTC)

List of data structures
Can we include in the article a list of the more common data structures: array, linked list, hash table, B-tree, heap, graph represented as a matrix, graph represented as a list. Any others? We should make a table of their insertion and removal running times and overhead running space. -Pgan002 (talk) 08:52, 3 March 2011 (UTC)
 * Why is the linked list not included in "Overview"?

Stack, Queue Manihass CH (talk) 02:46, 23 February 2023 (UTC)

Values are not retrieved from sets
The statement that values are not retrieved from sets is wrong. The HashSet class in Java for example is a concrete implementation of a set which returns values in it, as does the similarly named class in C#.

Overview clarification
In the Overview, we currently have: "An object contains data fields, like a record, and also contains program code fragments for accessing or modifying those fields. Data structures not containing code, like those above, are called plain old data structures."

Would it be worth clarifying, that while this is a valid sentence, it really applies in the context of object-oriented programming (which is not the be-all and end-all of programming)? Something like, "In the context of [object-oriented programming], ..."

Chris Alexander UK (talk) 19:49, 19 May 2014 (UTC)


 * Hello there! To me, that sounds like a good improvement. &mdash; Dsimic (talk | contribs) 06:27, 23 May 2014 (UTC)

Databases example
This revision changed the wording of the 2nd paragraph from
 * ''For example, B-trees are particularly well-suited for implementation of databases, while compiler implementations usually use hash tables to look up identifiers.

to
 * ''For example, databases use B-tree indexes for small percentages of data retrieval and compilers and databases use dynamic hash tables as look up tables.

It this true? I would say B-tree (or other types of binary tree) indexes are most commonly used. --Jvs (talk) 10:51, 24 December 2015 (UTC)
 * Whether or not it's true, it seems ambiguous to me. "Small percentages" could mean a small fraction of the queries, or it could mean queries that return a small fraction of the data. —David Eppstein (talk) 15:31, 24 December 2015 (UTC)

Data structure vs data type
I'm not an expert in computer science, but here is just a remark about something I find confusing and might confuse other readers. In the beginning of the article it says Not to be confused with data type, but in my opinion the difference between the two is not explained, thus it should be pointed out where the difference between the two is. Also it says in the article Data structures serve as the basis for abstract data types, this makes it even more unclear. The wikipedia article on abstract data types contains a list of examples of abstract data types such as "Tree", but if one clicks at this link one gets to the page Tree (data structure). In contrast to that, for some data structures/types there are two separate articles. For instance, there is an article on "Array data type" and "Array data structure". I have the feeling that "data type" tends to be more related to programming language whereas "data structure" tends to be more about the concept itself, but if this is the case, then it should be clearly stated somewhere. Zaunlen (talk) 17:17, 2 August 2019 (UTC)

Data Structure

The Logical or mathmatical model of particular organization of data is called as data structure.

data structure operation

→data appearing in our data structure is processed by means of certain operations. →1) traversing- accessing each record exactly once so that certain items in the record may be processed.(visiting the record). →2) Searching - Finding the location of the record with a given key value, or finding the location of all records which satisfy one or more condition.

Efficiency
I am surprised that the article defines data structures as efficient. Obviously different data structures may be optimized for different goals, but as far as I remember from CS class a data structure is still a data structure even if it's really inefficient. Do most RS really say that an inefficient data structure isn't? (t · c)  buidhe  06:24, 21 June 2022 (UTC)
 * I certainly wouldn't consider efficiency a necessary part of the definition, although both measurement of efficiency and design for efficiency are very important for this topic, and I guess my own lecture notes do include efficiency on their "What is a data structure" slide. Pat Morin's open-access textbook leads with efficiency (section 1.1) but doesn't appear to provide a definition for what a data structure is. Brass's Advanced Data Structures says that "A data structure is a method1 to realize a set of operations on some data"; no mention of efficiency. Those were the references that were easiest for me to check; I haven't looked at others recently. —David Eppstein (talk) 06:36, 21 June 2022 (UTC)
 * @Buidhe Choosing the correct data structure for some goal is an important problem, if incorrect data structure is chosen, then it is not efficient. You are right that "incorrect chosen data structure" is still a data structure. But let me use a metaphor, "All tables has four legs", now a three legged isn't a table? No, it is still a table, but it is an incorrect table. By this metaphor, data structure here means a "Correctly chosen data structure". Good luck, Hooman Mallahzadeh (talk) 06:41, 21 June 2022 (UTC)
 * I suggest to change the sentence to
 * "In computer science, a data structure is a data organization, management, and storage format that when correctly chosen enables efficient access and modification."


 * Without bolding any part. Do you agree? Hooman Mallahzadeh (talk) 06:44, 21 June 2022 (UTC)
 * "Correctly" is a strong word, implying that one choice is correct and others are not, when often there are tradeoffs. "well chosen" would be better. But in any case, it misses the point here, which is that however you choose to organize your data, or not, you have chosen a data structure. If you want a priority queue, then an unordered list of items and priorities is an example. It's usually not very efficient compared to alternatives like the binary heap, but it is still a data structure. And sometimes (for instance in Prim's algorithm for dense graphs) it may even be a good choice. —David Eppstein (talk) 06:53, 21 June 2022 (UTC)

India Education Program course assignment
This article was the subject of an educational assignment supported by Wikipedia Ambassadors through the India Education Program.

The above message was substituted from by PrimeBOT (talk) on 19:52, 1 February 2023 (UTC)

Wiki Education assignment: Research Process and Methodology - FA23 - Sect 201 - Thu
— Assignment last updated by Harrisondonnersbach (talk) 04:17, 12 November 2023 (UTC)

"Active data structure" listed at Redirects for discussion
The redirect [//en.wikipedia.org/w/index.php?title=Active_data_structure&redirect=no Active data structure] has been listed at redirects for discussion to determine whether its use and function meets the redirect guidelines. Readers of this page are welcome to comment on this redirect at  until a consensus is reached. Utopes (talk / cont) 22:05, 20 March 2024 (UTC)