Quantcast
[ 3 / biz / cgl / ck / diy / fa / g / ic / jp / lit / sci / tg / vr ] [ index / top / reports / report a bug ] [ 4plebs / archived.moe / rbt ]

Support us on Patreon!

/g/ - Technology


View post   

[ Toggle deleted replies ]
File: 207 KB, 1920x1080, mpv-shot0015.jpg [View same] [iqdb] [saucenao] [google] [report]
70064669 No.70064669 [Reply] [Original] [archived.moe] [rbt]

What's your favorite data structure? For me, it's the stack.

>> No.70064703

>>70064669
B Trees only.

>> No.70064717

Arrays

All day errday

>> No.70064720

>>70064669
A circular buffer with exactly one slot.

>> No.70064740

signed logic vector, bit manipulation is fun

second place goes to memory arrays, initializing them with generics and having them feed back info in the waveform is always satisfying

>> No.70064757

>>70064669
hash maps

>> No.70065223

>>70064669
cons cells

>> No.70065247

Anything with contiguous backing store really.
Making prefetcher aware code is literally the best thing, it's like having an additional cache level which has infinite capacity.

>> No.70065271

>>70064669
For practical purposes? Dynamic arrays are fun and useful.
For academic wankery and elegance? Btrees made from cons cells.

>> No.70065484

>>70064669
Blockchains

>> No.70065744

>>70064740
>initializing them with generics and having them feed back info in the waveform is always satisfying
how do you accomplish this?

>> No.70065745
File: 5 KB, 759x169, Linkedlist.png [View same] [iqdb] [saucenao] [google] [report]
70065745

the heap

>> No.70066938

>>70065745
heapsort is bestsort

>> No.70066967

>>70064720
based and redpilled

>> No.70066974

>>70064669
Recursion

>> No.70066981

>>70065745
Why did you post a linked list?
Also there is a difference between "the heap" and "a heap".

>>70064669
A trie.

>> No.70067007

For me, it's the red/black tree.

>> No.70067064

>>70064669
CBUF.h

>> No.70067121

>>70066974
/thread

>> No.70067235

>>70064669
mio>azusa>ritsu>=mugi>yui

>> No.70067296
File: 69 KB, 1096x616, 011-5.jpg [View same] [iqdb] [saucenao] [google] [report]
70067296

>>70064669
Nested list of lists with elements of the lists recursively referring to and indexing other elements in the lists in the list.

>> No.70067391

>>70064669
binary search tree for me desu

>> No.70067425

>>70067296
i know you're memeing but why would you even think of this?

>> No.70067435

Futures

>> No.70067974

>>70064669
Fuck stacks and fuck stack "languages"

>> No.70068108

>>70067425
>i know you're memeing
What makes you think so?

>> No.70069751

>>70068108
that does not sound very intuitive or accessible. software should aim for simplicity if possible

>> No.70069852

>>70069751
Tell that to the literal pajeet whose work feel on me after he fucked back of to whatever open air sewer he came from.
At least I'm halfway through refactoring it. On my own initiative and sometimes in my free time, because this shit is really fucking unbearable.

>> No.70069855

Linked lists are simple and elegant, and incredibly useful.

>> No.70069864

for me its the hash table

>> No.70070690

>>70069855
Cache misses: the data structure

>> No.70070728

>>70065744
I make a vhdl entity file for the memory defined with a generic variable WIDTH for the amount of bits in an address, and DEPTHBITS for the number of bits in the address, which allows for 2**DEPTHBITS memory locations.

When you initialize a component in another entity in VHDL, you can specify the value for the generics, i.e. you can specify you want 256x8bit, 1024x32bit, anything you want. It's satisfying to just use memblocks in projects that you built yourself, you could just use the local FPGA board memories but then it's harder to port across projects and use generally.

I'm using it right now to store 256 8-bit amplitude values for an ADSR amplitude modulator in a synthesizer, it's a great way to store algorithm data in a lookup table instead of having a circuit calculate it for you on each clock cycle,

>> No.70070949

>>70070728
That's interesting. thank you for explaining

>> No.70070962

>>70064669
the dictionary

>> No.70071036

hash table

>> No.70071048
File: 117 KB, 469x480, 1524882207459.png [View same] [iqdb] [saucenao] [google] [report]
70071048

>bunch of basic bitch data structures

>> No.70071049

anime

>> No.70071051

>>70064669
self-balancing trees are cute

>> No.70071066

>>70064669
Bloom filter, simply elegent

>> No.70071068

DNA
>his blood doesn't contain RSA-encrypted loli hentai

>> No.70071073

>>70071048
simple is seigi (tl note: seigi means justice)

>> No.70071080 [DELETED] 
File: 79 KB, 1280x720, Screenshots_1650_DG.jpg [View same] [iqdb] [saucenao] [google] [report]
70071080

bloom filter

>> No.70071147

>>70070949
no problem, HDL languages like Verilog and VHDL are really different beasts, modelling languages need a different frame of thought, since your code is being synthesized down to actual logic gates and signals instead of machine logic

that said, hardware design has taught me more than most of my programming courses have, building datapaths, RAM/ROM, schedulers, arbitors, etc. really helped me understand the really basic processes and functions of an operating system and the way it interfaces with the hardware.

the negative is that I've fallen behind in terms of higher-level stuff like OOP, and a lot of the coding structures and strategies I use with HDL end up confusing me when working more abstractly. For example, when working with strings, floats and interfaces between processes and threads in Java, you don't have to worry about speed in terms of clock periods, micromanaging signal bits or reducing code area or time delay to the same degree. The furthest up I have any mild expertise in anymore is probably C, I mostly work with VHDL and ASM, probably to the detriment of my career prospects out of university

>> No.70071243
File: 212 KB, 322x301, 1532755545190.png [View same] [iqdb] [saucenao] [google] [report]
70071243

Merkle trees

>> No.70071291
File: 176 KB, 1978x1442, explorer_2019-03-06_23-50-47.png [View same] [iqdb] [saucenao] [google] [report]
70071291

>>70071147
I think it's pretty cool. The things you're talking about are a different world for me. I'm also a uni student, but I've so far focused mainly on OOP and data strucutres in c++. One of my goals for self-study in the near future is to really dive into low-level programming and computer design. I actually just grabbed these books the other day upon recommendation in a thread here.
>probably to the detriment of my career prospects out of university
If you have such a passion for that kind of programming, you could probably develop your proficiency in C and go straight into an embedded systems position out of school. Supposedly that field is growing right now because of the rise of the "internet of things."

>> No.70071376

>>70071291
fingers crossed, I'm applying for an FPGA debugging internship aoon, and I'm hoping I can get my foot in to a boomercore industry. I cam do basic C stuff, but often I find myself translating up from machine code when I'm trying to wrap my head around some of the concepts. C is fun though, otherwise I learned Java, some Python and SQL for my software design courses, since Comp Eng is sort of a hybrid between Software Engineering and Electrical Engineering at my university.

If you're interested, I would say start off looking at the operation and design of simple logic elements like Flipflops, registers, Multiplexers, Decoders and the like. Then look at State Machine design, mainly ASMS and FSMs, which are similar to the UML state diagrams you've maybe covered in higher-level software courses. Then, I'd say look into single and multi-cycle processors and their datapaths, which will lead into microcode and LUT design. I'd tell you more, but that's about the level I'm at right now, so I have no advice past that.

Assembly has charm in the fact that the actual mechanisms are really, really basic, it's about building up complex tasks by just moving dtaa between registers and memory locations. It's also really good for making yourself seem smarter than you actually are for impressing CS kids that are way more competent than you

>> No.70071514

>>70071376
thanks for the tips, I'll definitely keep them in mind. best of luck to you

>> No.70072971
File: 91 KB, 1024x1152, OwO.jpg [View same] [iqdb] [saucenao] [google] [report]
70072971

>>70064669
Hideyoshi!

>> No.70073226

>>70067235
>rating azusa

>> No.70073237

>>70067235
Mugi>Ritsu but otherwise sure

>> No.70073243

>be me, queuebro

>> No.70073250
File: 57 KB, 754x600, yosh.jpg [View same] [iqdb] [saucenao] [google] [report]
70073250

>>70072971
why do we have to hide yoshi

>>70067235
mio>ritsu>mugi>=azusa>yui

>> No.70074778
File: 109 KB, 1280x720, serveimage (15).jpg [View same] [iqdb] [saucenao] [google] [report]
70074778

For me, it's the McChicken.

>> No.70076644

bump

>> No.70076667

>>70067235
>>70073250
As long as Mio is first it is correct

>> No.70077555

>>70064669
>What's your favorite data structure?
dvd's with a film on them

>> No.70077594

Collection
linked list when I'm trying to make custom stacks or queues.

>> No.70077974

>>70064669
le trie

>> No.70079115

>>70064669
Linked liszt

>>
Name (leave empty)
Comment (leave empty)
Name
E-mail
Subject
Comment
Password [?]Password used for file deletion.
reCAPTCHA
Action