• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 13:23
CEST 19:23
KST 02:23
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Team Liquid Map Contest #22: Results and Winners6Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7Code S Season 2 (2026) - RO8 Preview5[ASL21] Finals Preview: Two Legacies21
Community News
Douyu Cup 2026: $20,000 Legends Event (June 26-28)8[BSL22] Non-Korean Championship from 13 to 28 June4Weekly Cups (May 25-31): Clem doubles, 2v2 circuit heads toward finale0StarCraft II 5.0.16 PTR Patch Notes may 26th153Weekly Cups (May 18-24): MaxPax wins doubles0
StarCraft 2
General
High level ptr replays? where can I find them? StarCraft II 5.0.16 PTR Patch Notes may 26th Team Liquid Map Contest #22: Results and Winners TL Poll: How do you feel about the 5.0.16 PTR balance changes? TL.net Map Contest #22 - Voting & Ladder Map Selection
Tourneys
Douyu Cup 2026: $20,000 Legends Event (June 26-28) Maestros of The Game 2 announcement and schedule ! Sparkling Tuna Cup - Weekly Open Tournament Sea Duckling Open (Global, Bronze-Diamond) GSL Code S Season 2 (2026)
Strategy
[G] Having the right mentality to improve
Custom Maps
[D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 529 Opportunities Unleashed Mutation # 528 Infection Detected Welcome to the External Content forum
Brood War
General
Quality of life changes in BW that you will like ? [BSL22] Non-Korean Championship from 13 to 28 June BGH Auto Balance -> http://bghmmr.eu/ vespene.gg — BW replays in browser The Korean Terminology Thread
Tourneys
[Megathread] Daily Proleagues [ASL21] Grand Finals [BSL22] Grand Finals - Sunday 21:00 CEST Escore Tournament StarCraft Season 2
Strategy
Creating a full chart of Zerg builds Relatively freeroll strategies Why doesn't anyone use restoration? Any training maps people recommend?
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread PC Games Sales Thread ZeroSpace Megathread Summer Games Done Quick 2026!
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Trading/Investing Thread Canadian Politics Mega-thread Things Aren’t Peaceful in Palestine
Fan Clubs
The herO Fan Club!
Media & Entertainment
Movie Discussion! [Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion [Manga] One Piece
Sports
2024 - 2026 Football Thread Cricket [SPORT] TeamLiquid Health and Fitness Initiative For 2023 NBA General Discussion McBoner: A hockey love story
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
How Streaming Impacts Game P…
TrAiDoS
An Exploration of th…
waywardstrategy
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
Why RTS gamers make better f…
gosubay
ramps on octagon
StaticNine
Customize Sidebar...

Website Feedback

Closed Threads



Active: 7599 users

The Big Programming Thread - Page 797

Forum Index > General Forum
Post a Reply
Prev 1 795 796 797 798 799 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
Blitzkrieg0
Profile Blog Joined August 2010
United States13132 Posts
November 11 2016 01:56 GMT
#15921
Doing an insertion with recursion actually seems really annoying, but ^_^
I'll always be your shadow and veil your eyes from states of ain soph aur.
NovemberstOrm
Profile Blog Joined September 2011
Canada16217 Posts
Last Edited: 2016-11-11 07:46:31
November 11 2016 07:41 GMT
#15922
Anyone familiar with swift/xcode?
xcode 7.1
swift 2 i believe

I have one Textfield(playerAnswerTextView) on ViewController1 and a UI label(userAnswerTextBox) on ViewController2, I want the textfield to display its text to the ui label, segues are setup, i have a button setup to go to the next view controller. I've tried to get it work but can't seem to for some reason :/

Help is appreciated.
Moderatorlickypiddy
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2016-11-11 10:18:38
November 11 2016 09:54 GMT
#15923
--- Nuked ---
Prillan
Profile Joined August 2011
Sweden350 Posts
November 11 2016 13:48 GMT
#15924
On November 10 2016 12:52 Manit0u wrote:
[image loading]

This is great!
TheBB's sidekick, aligulac.com | "Reality is frequently inaccurate." - Douglas Adams
Djagulingu
Profile Blog Joined December 2010
Germany3605 Posts
November 12 2016 21:40 GMT
#15925
I just switched from Unity desktop to Gnome and I'm LOVIN it so far. Workspaces are such a nice touch. Lovin it. If I could move my bottom file bar to left, it would be perfect. Can't I just do that with some extension or shit?
"windows bash is a steaming heap of shit" tofucake
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2016-11-13 16:06:21
November 13 2016 16:05 GMT
#15926
I need to write a weighted graph in java. Any opinion on the best way to implement this?

I am thinking that my graph class will have a map members:


Map<node, Map<node, intege>>

where the integer represents the weight of the edge


So My map would store each node, as well as a map of nodes it connects to and the weight of the edge between them.

Is this a good solution?
Are there alternatives any of you would prefer?


Also in lecture, the professor kept mentioning "nodes" and "vertexes". Though for the life of me I didn't understand the difference and he didn't (couldn't?) really explain the difference.

Is it that in a typical representation, the vertex is simply a representation of the spot on the graph, and the node would be an object that contains the vertex and any other associated data?

But in that case if there was no other associated data it would make sense to just represent it with nodes instead of vertexes, right?

Okay, thanks!
Acrofales
Profile Joined August 2010
Spain18308 Posts
Last Edited: 2016-11-13 17:20:01
November 13 2016 17:12 GMT
#15927
There are many ways of implementing weighted graphs. It really depends on what you want to do with them. Generally a decent method is:

Your graph is simply a list of nodes

Every node has a list of edges in the form:

Map<Node, Integer> weightededges

However, this doesn't work for some common graph problems (such as max-flow-min-cut) where you want a list of edges at the top level. It also means that if your graph is not directed, you are storing each edge twice, which is slightly redundant (but usually not a problem).

There is no difference between nodes and vertices. Node is used in networks, and vertices in mathematics. Both mean the same thing.

If you need your edges at the top level for the functioning of your algorithm, generally a good solution is to have an edge data structure with fields:

Node start
Node end
int weight

And have a List<Edge> at the top level. However, in this case you will have to do extra work to ensure your graph is sane, and you don't have multiple edges between the same 2 nodes.

I'm not a big fan of your solution of Map<Node, Map<Node, Ingeger>>: it takes care of keeping the graph sane, but it is not as easy to do operations on (such as order all edges by weight): it is a compromise between the node-based solution and the edge-based solution, without the advantages of either.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2016-11-13 17:25:08
November 13 2016 17:22 GMT
#15928
Thanks acrofales

that all makes sense


So, if my graph got really really huge, using lists of edges would be bad, right? Wouldn't sets be better?


edit: your last edit touches on my project requirements a lot. im gonna have to think about that.


Let's say I was going to have to implement djiksta's algorithm
What structure would you recommend then?
RoomOfMush
Profile Joined March 2015
1296 Posts
November 13 2016 18:25 GMT
#15929
On November 14 2016 02:22 travis wrote:
Thanks acrofales

that all makes sense


So, if my graph got really really huge, using lists of edges would be bad, right? Wouldn't sets be better?

Why would sets be somehow better than lists?
An ArrayList is pretty much the fastest data structure for append operations and iterations. Only when it comes to random access insertions and deletions is the ArrayList somewhat slow (but still pretty fast).

On November 14 2016 02:22 travis wrote:Let's say I was going to have to implement djiksta's algorithm
What structure would you recommend then?

I would recommend having a Node class and an Edge class. An Edge connects two Node's. Each Node has a List of Edge's to other Node's which are connected. You can also have a Graph class which has a List of all Node's.

The List of Edge's is useful because it can be sorted by weight which makes it easy to pick the "cheapest" path first.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2016-11-13 18:30:41
November 13 2016 18:28 GMT
#15930
Okay so I basically went with what I think you were saying, I am going to use an arraylist of edges.
yeah basically exactly what you are talking about.


there's so many ways to implement this lol
Acrofales
Profile Joined August 2010
Spain18308 Posts
Last Edited: 2016-11-13 18:42:41
November 13 2016 18:28 GMT
#15931
The first. Just think about how that algorithm works.

E: had this reply open without posting.

Having both nodes and edges is a "complete" representation of a graph, but you'll find it's really redundant most of the time. For starters, at no point in Dijkstra will you be interested in knowing about all edges, so why bother representing them explicitly. Having a list of edges in each node is effectively the same as having a list of nodes in each node. It's just encapsulated in an imho over-engineered OOP manner.

The reason you want a Set (in my example, and your initial idea, the keys in the map) is so you don't have to check uniqueness of each edge.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
November 13 2016 18:42 GMT
#15932
Okay cool guys it's all coming together now

I'll probably be back in a few days with more questions lol
Mr. Wiggles
Profile Blog Joined August 2010
Canada5894 Posts
November 13 2016 18:49 GMT
#15933
On November 14 2016 01:05 travis wrote:
I need to write a weighted graph in java. Any opinion on the best way to implement this?

I am thinking that my graph class will have a map members:


Map<node, Map<node, intege>>

where the integer represents the weight of the edge


So My map would store each node, as well as a map of nodes it connects to and the weight of the edge between them.

Is this a good solution?
Are there alternatives any of you would prefer?


Also in lecture, the professor kept mentioning "nodes" and "vertexes". Though for the life of me I didn't understand the difference and he didn't (couldn't?) really explain the difference.

Is it that in a typical representation, the vertex is simply a representation of the spot on the graph, and the node would be an object that contains the vertex and any other associated data?

But in that case if there was no other associated data it would make sense to just represent it with nodes instead of vertexes, right?

Okay, thanks!

I don't believe there's any technical difference between nodes and vertices. They're basically synonyms when talking about graphs. For example, I usually refer to vertices, but others use the word nodes.

In addition to what's been suggested, another possible graph representation is the adjacency-matrix:

https://en.m.wikipedia.org/wiki/Adjacency_matrix

This is generally useful for doing random lookups of if two vertices are connected.

On November 14 2016 03:28 travis wrote:
Okay so I basically went with what I think you were saying, I am going to use an arraylist of edges.
yeah basically exactly what you are talking about.


there's so many ways to implement this lol

Instead of repeated sorting to find the minimum edge distance, you can also look at using a priority-queue implementation.

https://en.m.wikipedia.org/wiki/Priority_queue
https://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html

This will generally be faster than re-sorting the list at every step of Dijkstra's algorithm. It's also a very useful data structure to know in general, when you want to keep a sorted queue of something where you're popping and pushing members.
you gotta dance
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
November 13 2016 19:01 GMT
#15934
In java, is there a time you need to use "this" to specify what member you are referring to *other* than when you have duplicate field names? (like, are passed parameter "key" and have a class member "key" so in your constructor you do this.key = key ... which is obviously bad anyways)
phar
Profile Joined August 2011
United States1080 Posts
November 13 2016 19:16 GMT
#15935
Yes. When implementing an equals() method, the canonical example uses syntax like if (this == other) { return true; }
Who after all is today speaking about the destruction of the Armenians?
RoomOfMush
Profile Joined March 2015
1296 Posts
November 13 2016 19:27 GMT
#15936
On November 14 2016 04:01 travis wrote:
In java, is there a time you need to use "this" to specify what member you are referring to *other* than when you have duplicate field names? (like, are passed parameter "key" and have a class member "key" so in your constructor you do this.key = key ... which is obviously bad anyways)

There is a few obvious situations like returning "this" or passing "this" as an argument. Other than that it might happen when dealing with non-static inner classes that the inner class and the outer class have a method with the same name (or perhaps a member with the same name) and you need to refer to both of them, for example:

public class Test {

public Test() {
// ... do stuff
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent e) {
Test.this.actionPerformed(e);
}
};
// ... do more stuff
}

private void actionPerformed(ActionEvent e) {
// something something
}

}

If you would leave the "Test.this." out you would get an infinite recursion.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2016-11-13 20:09:45
November 13 2016 19:33 GMT
#15937
okay another weird question


I have an arraylist filled with objects
each object has a map

I find one of the objects
I do a shallow copy

I then update the map of the shallow copy

I then do a indexOf(shallow copy) on the arraylist

will it find the index of the original object?

It will, right?



edit: I don't even need to put the shallow copy in the arraylist do I? by updating the map I also update the map of the original object? Is that correct?


edit: yes. yes that is correct.
AKnopf
Profile Blog Joined March 2011
Germany259 Posts
Last Edited: 2016-11-13 22:26:53
November 13 2016 20:13 GMT
#15938
If you change the map of the copy, then yes, the map of the original is altered, too. This is because they both have a reference to the very same map. Primitive types are passed by value while complex types are passed by reference.

About indexOf(), it depends on how you implemented the equals()-Method in your custom class. The ArrayList just goes through its elements until it finds the first element that returns true for equals().
If you have not defined your own version of equals() and you are not inherting from a class that implements equals(), then you use the default implementation, which is for complexe types a reference check. This means that only the exact same object is equal. The copy is not equal.

Further reading:

  • Different variants of equality in java:
    • http://www.leepoint.net/data/expressions/22compareobjects.html
    • http://stackoverflow.com/questions/4178997/how-default-equals-and-hashcode-will-work-for-my-classes#4179011

  • indexOf() uses equals() http://stackoverflow.com/questions/22236009/why-does-list-indexof-use-equals-method-of-passed-in-object#22236559





Most importantly: Always also implement hashCode() when you implement equals() in a way, that two object that are equal also produce the same hash code. Otherwise you will land in programmers hell when you want to use your objects in a HashMap.

Cheers!

Update: Fixed sentence about reference vs value. Thanks, Manit0u!
The world - its a funny place
Manit0u
Profile Blog Joined August 2004
Poland17765 Posts
November 13 2016 22:03 GMT
#15939
On November 14 2016 05:13 AKnopf wrote:
Primitive types are referenced by value while complex types are referenced by value.


You might want to revisit this sentence
Time is precious. Waste it wisely.
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2016-11-14 02:45:35
November 14 2016 00:30 GMT
#15940
--- Nuked ---
Prev 1 795 796 797 798 799 1032 Next
Please log in or register to reply.
Live Events Refresh
PSISTORM Gaming Misc
15:55
FSL TeamLeague wk 2 PTB vs POG
Freeedom26
Liquipedia
uThermal 2v2 Circuit
15:00
Season Finals: Group Stage 2
Serral2186
uThermal1660
RotterdaM951
TaKeTV 420
mouzHeroMarine302
IndyStarCraft 218
SteadfastSC168
LamboSC246
Classic28
sc2solar27
Shameless12
SpiritSC211
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Serral 2186
uThermal 1660
RotterdaM 951
mouzHeroMarine 302
IndyStarCraft 218
SteadfastSC 168
BRAT_OK 46
LamboSC2 46
Classic 28
sc2solar 27
SpiritSC2 11
StarCraft: Brood War
Shuttle 1817
EffOrt 1635
Leta 180
ggaemo 62
Hyun 58
Barracks 42
Movie 41
Pusan 34
Rock 31
Sacsri 29
[ Show more ]
Terrorterran 19
soO 9
ajuk12(nOOB) 8
Dota 2
Dendi2759
Counter-Strike
fl0m8498
Other Games
gofns41452
tarik_tv10668
Grubby2779
singsing2450
Mlord624
crisheroes297
XaKoH 146
SHIN 141
KnowMe95
ArmadaUGS89
Mew2King70
Trikslyr35
MindelVK6
Organizations
Other Games
EGCTV1172
gamesdonequick519
BasetradeTV238
StarCraft 2
angryscii 22
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 17 non-featured ]
StarCraft 2
• iHatsuTV 10
• printf 6
• Adnapsc2 3
• Kozan
• sooper7s
• AfreecaTV YouTube
• intothetv
• IndyKCrew
• LaughNgamezSOOP
• Migwel
StarCraft: Brood War
• Airneanach54
• HerbMon 13
• FirePhoenix3
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
League of Legends
• Nemesis2817
Upcoming Events
BSL22 NKC (BSL vs China)
1h 37m
eOnzErG vs Mihu
Messiah vs XuanXuan
Jaystar vs TerrOr
Dewalt vs Bonyth
eOnzErG vs XuanXuan
Mihu vs TerrOr
Messiah vs Bonyth
Sparkling Tuna Cup
16h 37m
uThermal 2v2 Circuit
21h 37m
BSL22 NKC (BSL vs China)
1d 1h
Jaystar vs Dewalt
eOnzErG vs TerrOr
XuanXuan vs Bonyth
Mihu vs Dewalt
Messiah vs Jaystar
eOnzErG vs Bonyth
TerrOr vs Dewalt
Wardi Open
1d 17h
OSC
2 days
Replay Cast
3 days
The PondCast
4 days
Replay Cast
5 days
OSC
5 days
[ Show More ]
CranKy Ducklings
5 days
Liquipedia Results

Completed

Acropolis #4 - GSB
2026 GSL S2
Heroes Pulsing #1

Ongoing

IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
CSCL: Masked Kings S4
YSL S3
BSL 22 Non-Korean Championship
SCTL 2026 Spring
Maestros of the Game 2
WardiTV Spring 2026
uThermal 2v2 2026 Main Event
Murky Cup 2026
Heroes Pulsing #2
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1

Upcoming

CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
Douyu Cup 2026
Heroes Pulsing #3
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.