Receiving updated value from recursive call Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Data science time! April 2019 and salary with experience The Ask Question Wizard is Live!What is tail recursion?Recursion or Iteration?Way to go from recursion to iterationCan I call a constructor from another constructor (do constructor chaining) in C++?What Is Tail Call Optimization?Understanding recursionWhy is reading lines from stdin much slower in C++ than Python?How to pair socks from a pile efficiently?A more haskellian way to write this recursion?How to properly use a function that is recursive and receives a single argument?
Does a Draconic Bloodline sorcerer's doubled proficiency bonus for Charisma checks against dragons apply to all dragon types or only the chosen one?
Variable does not exist: sObjectType (Task.sObjectType)
Protagonist's race is hidden - should I reveal it?
Why do owned slices take 16 bytes in rust? (on x64 machine)
When does Bran Stark remember Jamie pushing him?
Is it OK if I do not take the receipt in Germany?
Where to find documentation for `whois` command options?
How to begin with a paragraph in latex
What were wait-states, and why was it only an issue for PCs?
Why aren't road bicycle wheels tiny?
Does Prince Arnaud cause someone holding the Princess to lose?
How do I deal with an erroneously large refund?
Eigenvalues of the Laplacian of the directed De Bruijn graph
Show two Lagrangians are equivalent
Like totally amazing interchangeable sister outfit accessory swapping or whatever
false 'Security alert' from Google - every login generates mails from 'no-reply@accounts.google.com'
How would it unbalance gameplay to rule that Weapon Master allows for picking a fighting style?
Preserving file and folder permissions with rsync
Will I lose my paid in full property
Can gravitational waves pass through a black hole?
Deciphering death certificate writing
Raising a bilingual kid. When should we introduce the majority language?
How can I wire a 9-position switch so that each position turns on one more LED than the one before?
What is the evidence that custom checks in Northern Ireland are going to result in violence?
Receiving updated value from recursive call
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
Data science time! April 2019 and salary with experience
The Ask Question Wizard is Live!What is tail recursion?Recursion or Iteration?Way to go from recursion to iterationCan I call a constructor from another constructor (do constructor chaining) in C++?What Is Tail Call Optimization?Understanding recursionWhy is reading lines from stdin much slower in C++ than Python?How to pair socks from a pile efficiently?A more haskellian way to write this recursion?How to properly use a function that is recursive and receives a single argument?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I have a DFS function which collects entry and leave times of vertices. Unfortunately, I am unable to receive a proper value for leave time, because it is not connected with the value from recursive call.
void DFS_visit(int i, vector<int> Adj[], int visited[], int p[], int entry[], int leave[], int t)
visited[i] = 1;
entry[i] = t;
cout << i << " ";
for (auto u : Adj[i])
if (!visited[u])
p[u] = i;
DFS_visit(u, Adj, visited, p, entry, leave, t++);
leave[i] = t++;
It is obviously an auxiliary function, I also have a "main" DFS function:
void DFS(vector<int> Adj[], int n)
{
int visited[n], p[n], entry[n], leave[n];
int t = 0;
for (int i = 0; i < n; i++)
visited[i] = 0;
p[i] = -1;
for (int i = 0; i < n; i++)
if (!visited[i])
DFS_visit(i, Adj, visited, p, entry, leave, t);
Could you please tell me how I am supposed to pass the updated value of leave time to leave[i]? Thanks in advance!
c++ algorithm recursion
add a comment |
I have a DFS function which collects entry and leave times of vertices. Unfortunately, I am unable to receive a proper value for leave time, because it is not connected with the value from recursive call.
void DFS_visit(int i, vector<int> Adj[], int visited[], int p[], int entry[], int leave[], int t)
visited[i] = 1;
entry[i] = t;
cout << i << " ";
for (auto u : Adj[i])
if (!visited[u])
p[u] = i;
DFS_visit(u, Adj, visited, p, entry, leave, t++);
leave[i] = t++;
It is obviously an auxiliary function, I also have a "main" DFS function:
void DFS(vector<int> Adj[], int n)
{
int visited[n], p[n], entry[n], leave[n];
int t = 0;
for (int i = 0; i < n; i++)
visited[i] = 0;
p[i] = -1;
for (int i = 0; i < n; i++)
if (!visited[i])
DFS_visit(i, Adj, visited, p, entry, leave, t);
Could you please tell me how I am supposed to pass the updated value of leave time to leave[i]? Thanks in advance!
c++ algorithm recursion
4
passtby reference
– yassin
Mar 22 at 15:04
1
or make it a return value (t = DFS_visit(u, Adj, visited, p, entry, leave, t + 1);).
– Dan M.
Mar 22 at 15:05
add a comment |
I have a DFS function which collects entry and leave times of vertices. Unfortunately, I am unable to receive a proper value for leave time, because it is not connected with the value from recursive call.
void DFS_visit(int i, vector<int> Adj[], int visited[], int p[], int entry[], int leave[], int t)
visited[i] = 1;
entry[i] = t;
cout << i << " ";
for (auto u : Adj[i])
if (!visited[u])
p[u] = i;
DFS_visit(u, Adj, visited, p, entry, leave, t++);
leave[i] = t++;
It is obviously an auxiliary function, I also have a "main" DFS function:
void DFS(vector<int> Adj[], int n)
{
int visited[n], p[n], entry[n], leave[n];
int t = 0;
for (int i = 0; i < n; i++)
visited[i] = 0;
p[i] = -1;
for (int i = 0; i < n; i++)
if (!visited[i])
DFS_visit(i, Adj, visited, p, entry, leave, t);
Could you please tell me how I am supposed to pass the updated value of leave time to leave[i]? Thanks in advance!
c++ algorithm recursion
I have a DFS function which collects entry and leave times of vertices. Unfortunately, I am unable to receive a proper value for leave time, because it is not connected with the value from recursive call.
void DFS_visit(int i, vector<int> Adj[], int visited[], int p[], int entry[], int leave[], int t)
visited[i] = 1;
entry[i] = t;
cout << i << " ";
for (auto u : Adj[i])
if (!visited[u])
p[u] = i;
DFS_visit(u, Adj, visited, p, entry, leave, t++);
leave[i] = t++;
It is obviously an auxiliary function, I also have a "main" DFS function:
void DFS(vector<int> Adj[], int n)
{
int visited[n], p[n], entry[n], leave[n];
int t = 0;
for (int i = 0; i < n; i++)
visited[i] = 0;
p[i] = -1;
for (int i = 0; i < n; i++)
if (!visited[i])
DFS_visit(i, Adj, visited, p, entry, leave, t);
Could you please tell me how I am supposed to pass the updated value of leave time to leave[i]? Thanks in advance!
c++ algorithm recursion
c++ algorithm recursion
asked Mar 22 at 14:59
imalgrabimalgrab
33
33
4
passtby reference
– yassin
Mar 22 at 15:04
1
or make it a return value (t = DFS_visit(u, Adj, visited, p, entry, leave, t + 1);).
– Dan M.
Mar 22 at 15:05
add a comment |
4
passtby reference
– yassin
Mar 22 at 15:04
1
or make it a return value (t = DFS_visit(u, Adj, visited, p, entry, leave, t + 1);).
– Dan M.
Mar 22 at 15:05
4
4
pass
t by reference– yassin
Mar 22 at 15:04
pass
t by reference– yassin
Mar 22 at 15:04
1
1
or make it a return value (
t = DFS_visit(u, Adj, visited, p, entry, leave, t + 1);).– Dan M.
Mar 22 at 15:05
or make it a return value (
t = DFS_visit(u, Adj, visited, p, entry, leave, t + 1);).– Dan M.
Mar 22 at 15:05
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55302439%2freceiving-updated-value-from-recursive-call%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55302439%2freceiving-updated-value-from-recursive-call%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
4
pass
tby reference– yassin
Mar 22 at 15:04
1
or make it a return value (
t = DFS_visit(u, Adj, visited, p, entry, leave, t + 1);).– Dan M.
Mar 22 at 15:05