C/C++ :: Implement Breadth First Search Graph And Output Order Of Traversal
Mar 26, 2014
I'm new to program breadth first search and for my assignment we have to implement a breadth first search graph and output the order of the traversal. The problem is when I run my program I do not get any output from my traversal. All I get is "Breadth First Search Traversal starts at Vertex 2 and the order is: "
Here is my Queue class
//Declaration of node
struct node{
int info;
node *next;
};
//Defining Queue class
class Queue{
I used a BFS to simulate graph-join structure in a C++ code, and had a binary tree that asks the user e.g. to insert a node in the tree among other options, anyhow, I reached a point where I should pass a set of vertices from the graph to the tree, but how to do so. So I wanted to ask is such a thing possible? i.e. passing vertices from a graph to a tree automatically (no user involvement is needed)?
how can a breadth-first-search-tree include every node have ancestor list. every node have multiple ancestor list(because every node may be multiple parents)
Traversal of binary search tree. In my header file there is a function setTraversal (public) and private print file. As I understood from teacher's explanation, my setTraversal function should call the recursive print function and print the list depending on selected order (pre,in or post-order). I still cannot get my head around what should be in setTraversal function definition. All resources I read last two days explain each order separately (preorder, inorder, postorder). How can I combine them? Here is my code:
#include "NodeTypeBST.h" #include <iostream> enum TravType {PRE, IN, POST}; template<class T> class BST
Following is the code for inserting elements in a tree and then retrieving them back using inorder traversal technique elements are getting inserted just fine,but the code doesn't displays the elements of the tree while performing inorder traversal..
I am having trouble figuring out inorder traversal in this assignment. I was given this function definition in the homework i have to declare it. The problem i am having is how to use function pointer to traverse the list.
void CBSTree<NodeType>::InOrderTraversal(void (*fPtr)(const NodeType&)) const; void CBSTree<NodeType>::InOrder(const CTreeNode<NodeType> *const nodePtr ,void (*fPtr)(const NodeType&)) const; //nodePtr is a pointer to a NodeType object (this is a recursive function, initially this points to the root). //fPtr is a pointer to a non-member function that takes a const reference to a NodeType object as input, and //returns nothing
I know without the function pointer parameter it will be like this
I am trying to develop a function which prints a binary tree using post-order traversal (left, right, root) but I am experiencing some troubles. The code is compiled but when I run the program it crashes right before printing the post-order traversal.
Below you can find my code and the output from debugging.
Code: /** Program which represents a Binary Search Tree and is modified with the following functions: - smallest() - member function which searches for the smallest element in the tree. - preorder() - member function which prints the tree nodes using pre-order traversal - postorder() - member function which prints the tree nodes using post-order traversal (to be completed) */ #include <iostream> #include <cstdlib> #include <string> using namespace std; class TreeNode { public:
[code]...
This is from the debugger log:
Child process PID: 5720 At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:316 At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:317 At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:318 At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:319 Program received signal SIGSEGV, Segmentation fault. At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:279
You have to implement a data structure to represent graphs,directed or undirected,that tries to avoid the wasted space in the representation of a graph with adjacency matrix and the difficulty of searching the edges with adjacency list representation.We consider that the vertices are numbered from 1 to nverts and the exit degree of each vertex is at most MAXDEG. If deg[i] is the exit degree of the vertex i then the neighbors of the vertex i can be saved at the matrix edge[i][j], 1<=j<=deg[i].
Write a program that reads the datas from a file: if the graph is directed or undirected(1 or 0), the number of vertices (nverts),the number of edges (nedges) and the first and the last vertex of each edge.Write the function dfs that, with argument the data structure that you implemented before for the representation of a graph, prints the edges by the depth-first search of a graph. What I've done so far is: I wrote a program that reads these information from a file, calculates the exit degree of each vertex and creates the matrix edge[i][j]. What data structure do I have to implement???
How to traverse through this array and output each student and score that falls below the average. I think I may have the method down for traversing through the list to find the "total score" however, before proceeding under a possible wrong presumption, I would like confirmation as to whether or not I'm understanding this or botching this concept.
void dispLowScore(struct payload *arrayStart , //first element of array struct payload *arrayEnd ) //last element of array { int studentCount; //total number of students in list/array int totalScore ; //accumulated value of all scores added together float averageScore; //totalScore / studentCount
Any example of a graph search algorithm that uses a recursion and linked list based stacks to determine a route from a single point on a graph to another single point on a graph?
I want to implement a lexicographical order of some characters entered from the keyboard. when i press "n" i want it to return the order. Ignore the part with "insert a specific number of words" that's for smthn else.
#include <iostream> #include <string.h> using namespace std; int main () { int n, i, j; char oprire, decizie, v[20], x[100][20];
[Code]...
it keeps giving me returned error code -1073741819
What I have done : Created functions to accept inputs from user and read,print out adjacent matrix.
What I need : How do I start DFS in adjacent matrix so that I can output the vertices of each connected component of a graph? I'm confused with adjacent matrix and the term 'component'.
#include <stdio.h> #include <iostream> #define maxV 8 using namespace std; int V,E,x,y; int a[maxV][maxV];
I am unable to implement the insert function properly, every time i run the program i just get the first value and name, I am not getting other Id's and name.
"(Header File)" #include <iostream> #include <string> using namespace std; class node{ public: int ID; string name; class node *left, *right, *parent;
So I am trying to create a program that reads a series of files and creates a graph plotting points from the file. So far my code looks a little something like this -
include <iostream> include "ccc_x11.h" include "ccc_shap.h" include "ccc_win.h" include <fstream> using namespace std ; int ccc_win_main() { cwin.coord(-10, -10, 10, 10);
[Code] ....
However when I run the program nothing happens. I think it has to do with the way I set up my files, which looks a little something like this-
The first thirteen numbers are the x values of the points, and the last thirteen are the y values of the points. Is there any other way to have my program read the file and display the given points?? I would use getline() however that would make my point into a string, and I dont really know how to convert a string to a double before putting the variable into a point.
for our school project, we have to make a program which involves three students and the prices each of them paid for the meals. The program has to calculate how much each of the students has to pay/receive to/from the others. Most of it, we got from our teacher. The error we are getting is that we have to 'take care of the input/output order'. So if you type in the names/numbers of the students in a different way, so for example if you type first number 1, then 0, then 2 and 0 and 1 have to pay money to number 2, number 0 has to be in front of 1. Our output is that number 1 is in front of number 0.
I'm stuck again on a homework problem. I enter 9 8 7 6 5 4 3 2 1 in to the program when it asks me to. I print out the array (just before the bubble sort routine) and I get the numbers in descending order just as expected. So going into bubble sort routine, the numbers are correct.
I should get 1 2 3 4 5 6 7 8 9 as output.
But I get 1 2 3 4 4 5 6 7 8
Code: #include <stdio.h> #include <stdlib.h> int main() { int max_size = 20; // max size of array of numbers int numbers[max_size]; // array for numbers
I tried to make this code to output an array in Ascending Order but the output is showing weird output like 001fgc123 multiple times instead of the array.
What is wrong with my code?
#include <iostream> using namespace std; void ascOrder(int Array[],int length) { int n=0,i,orderNum=0; while(n<length) { for(i=0;i<length;i++)
I will keep this simple as I have the code written for my testing software program, I just want to add a feature of randomly generating the answer choice output order, I do not want to randomly output the full questions, but instead the choices (answers to the question), for example =
As you can see I would like to output the answers, choices randomly as in answer choice 3 will appear at the top instead of 1. and so on, it doesn't matter if the numbers move with the txt as the numbers beside the questions are txt.
How to return a message saying that the value searched for is not found. We had to pull the data in from a .dat, i won't let me attach it as a .dat so I attached it as .txt. I know my it's sloppy. I usually clean up what I can once it is working properly.
#include <iostream> #include <iomanip> #include <fstream> #include <string> using namespace std; int ccnt; int size = 10;
So basically here I have a menu in my C program and if I were to select option 2, I would enter a string up to 30 characters and it would output each block of 16 bytes should be shown which contains a character in the requested string. However, when I compile and run the program and search for the string, nothing happens. what I may be doing wrong?
Code:
else if (select == 2){ printf("Enter a string of up to 30 characters: "); scanf("%s", &userstr); //Compares both user's string and file string for (i = 0; i < size; i++){ if (strcmp (buffer, userstr) !=0){