11
$\begingroup$

I’m working on an “ABC” poster of data structures, with one data structure per letter of the alphabet. (It’s intended as decor for a child’s room.) I teach an advanced data structures course and it was easy to fill in almost everything. However, for the life of me I can’t find a data structure that starts with the letter “N.” I’ve checked the NIST DADS database, Wikipedia, Eric Demaine’s Advanced Data Structures course, and my own class and none of them include a data structure that starts with “N.” ChatGPT suggested “node” (not a data structure), “N-ary tree” (a shape of a tree, which isn’t a data structure; compare “binary tree” vs “binary heap”) and “queue” (which doesn’t start with N. >_<)

Apologies if there’s a really obvious answer I’m missing, but is there a data structure whose name begins with “N?”

$\endgroup$
18
  • 5
    $\begingroup$ No-Such-Structure? $\endgroup$ Mar 4 at 21:50
  • 9
    $\begingroup$ NFA ? (desperate times...) $\endgroup$
    – Denis
    Mar 4 at 22:20
  • 13
    $\begingroup$ Nil (or Null, None) can be considered as the degenerate data structure. $\endgroup$
    – pcpthm
    Mar 5 at 14:15
  • 5
    $\begingroup$ Are you sure this is good decor for a child's room? $\endgroup$ Mar 6 at 18:38
  • 6
    $\begingroup$ When you are done making this poster, please post an image of the result. $\endgroup$
    – Mike Nakis
    Mar 7 at 9:19

11 Answers 11

14
$\begingroup$

This one seems to fit the bill: Navigation Mesh

$\endgroup$
0
14
$\begingroup$

How about number ? A number is a very simple data structure, but it's an important one. You can store a date in one, or a temperature, or a position, ...

$\endgroup$
11
$\begingroup$

Neural networks are often considered a computation model, but in effect they store a processed form of the training data, hence I believe it is fair to call them data structures as well.

$\endgroup$
7
$\begingroup$

Just found "Neighborhood grid"

  • Neighborhood grid: A novel data structure for fluids animation with GPU computing. Journal of Parallel and Distributed Computing, Volume 75, 2015.

  • Combinatorial and Asymptotical Results on the Neighborhood Grid. Skrodzki, Martin & Reitebuch, Ulrich & Polthier, Konrad. (2017).

$\endgroup$
5
$\begingroup$

Some programming languages have named tuples.

$\endgroup$
5
$\begingroup$

In particle physics the most common name for the data structure used to store collision data at the Large Hadron Collider is the ntuple. (See, for example, formal docs, or example of common usage in random internet post ).

While obviously this name derives from $n$-tuple (i.e. tuple of size $n$) the structures called ntuples by my colleagues (I am a particle physicist myself) contain a lot more than that.

Of course, you could just run with $n$-tuple if you didn't want the particle physics baggage/specificity which comes with ntuple.

$\endgroup$
2
  • 1
    $\begingroup$ Is there much difference from tuple? $\endgroup$
    – Barmar
    Mar 6 at 17:39
  • $\begingroup$ There is not much difference between an $n$-tuple and a tuple. But a ROOT ntuple is closer to a proprietary database format than it is to a tuple because it is usually a list (over collisions) of collision data, each of which is often a list of variable-length-lists (e.g. one collision might contain two electrons and four muons and no jets, while the next event may contain one electron, no muons and 10 jets --- so what is stored for each event in the "electron" list (e.g. the electron momenta) varies from event to event. NB - personally I dislike ROOT ntuples, so I'm not promoting them! $\endgroup$ Mar 6 at 17:56
4
$\begingroup$

Try for something nested, e.g.: Nested Set Collection

https://github.com/romanb/JPA-NestedSet

$\endgroup$
2
$\begingroup$

What about a nibble (semi-archaic for half a byte)? That's either a 4-bit data structure or the sub-structure of a byte.

$\endgroup$
2
$\begingroup$

While on nested data structures, here are some from the programmer's toolbox. Nested interval trees Nested Intervals Tree in SQL; possible uses in indexing, Nested Intervals Tree Encoding with continued Fractions. The data structure is best to be looked at like a Nested Set structure. Although a Nested Set is not strictly a data structure, it finds mention in Database docs(Mongo DB, Oracle, etc). For more rigor the Cantor Set comes to mind when looking at Nested Interval Structures. Another data structure from the docs of the Rust programming language, check nclist, or nested containment list attributed to Alexander V, and ACJ Lee in the Rust docs. Another data structure- non-meldable priority queue for analysis of priority queues. For more about non meldable priority queues.

$\endgroup$
0
$\begingroup$

A good choice is "Network".

You might object that a network is a formation, not a data structure, (see "network" in wiktionary) but look:

From the Wikipedia entry for Network Theory:

In mathematics, computer science and network science, network theory is a part of graph theory. It defines networks as graphs where the nodes or edges possess attributes.

(emphasis mine.)

So, a network is also a data structure.

There you go.

$\endgroup$
3
  • $\begingroup$ That something is mathematically modelled as graphs does not in any way make it a data structure. Lots of things are modelled by graphs. $\endgroup$ Mar 8 at 7:47
  • $\begingroup$ @EmilJeřábek you chose to see it as "modelling networks as graphs", but the wikipedia definition says "defines networks as graphs". Of course I may be wrong, but I think that in network theory, the subject of study is the abstract network itself, not some concrete network instance (TCP/IP, social, etc.) which needs to be modelled before it can be studied. $\endgroup$
    – Mike Nakis
    Mar 8 at 12:45
  • $\begingroup$ Whether you say “models” or “defines” is just word play, it has no bearing on the merit of the issue. A “graph” by itself is not a data structure either. The purpose of a network is to allow passage of information or other commodity from one node to another. Whereas if you claim that network, as a graph, is a data structure, this means you are saying that the purpose of a network is to answer queries revealing certain facts about its network topology. With this twisted logic, everything is a data structure. $\endgroup$ Mar 8 at 13:46
0
$\begingroup$

How about Nearest neighbor search

From Wikipedia

Nearest neighbor search (NNS), as a form of proximity search, is the optimization problem of finding the point in a given set that is closest (or most similar) to a given point. Closeness is typically expressed in terms of a dissimilarity function: the less similar the objects, the larger the function values.

.......

Or Nash Table

A Nash table is a data structure used in game theory to represent the payoffs of players in a game. It is named after John Nash, who made significant contributions to the field of game theory. Nash tables are typically used in games with multiple players, where each player's strategy is represented by a row in the table, and each column represents a possible outcome of the game. The entries in the table represent the payoffs that each player receives based on the combination of strategies chosen by all players.

Nash tables are important for analyzing strategic interactions among players in games and determining optimal strategies. They are often used in conjunction with concepts such as Nash equilibria to predict outcomes and make decisions in various competitive scenarios.

Or Natural Join

In database theory and relational algebra, a natural join is an operation that combines two relations based on common attributes, resulting in a new relation that includes only those tuples that have matching values in the specified attributes.

When performing a natural join between two relations, duplicate attributes are removed, and the resulting relation includes only one copy of each common attribute. The join condition is implicit, based on the equality of values in the common attributes.

Natural joins are commonly used in database queries to combine information from different tables based on shared attributes. They provide a convenient way to merge data without explicitly specifying join conditions, as long as the attributes to be joined have the same names and data types in the participating relations.

Some others are : N-gram ,Name Tree, Network Protocol Stack etc...

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.