C :: Implementing Trie Data Structure With Dynamic Array
Jun 23, 2013
i can't implement trie with dynamic array .the problem is in this line i think :
Code:
childs_size = (node_p -> childs_value_p)[0] + 1; here is my code : Code: #include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct trie_node {
unsigned char *childs_value_p; // pointer to an array of child nodes value
struct trie_node **childs_ptp; // pointer to an array of child nodes pointer
struct trie_node *failure_node_p; // pointer to failure node
[code]...
i could write this code with binary tree instead of dynamic array but need a large amount of memory for about 13000000 strings of length 16 . is there any better solution with lower memory usage to implement trie ?
So I've been working on implementing a stack data structure as an ADT, the program compiles, but when I try and push elements on top of the stack, for some reason the stack is full.
I created a class (let call it X) which contains the structure to store the data from my data base. Them I have a class (call Y) which will contain a list for each row in my data base. Third, I have a class with thousands variables (Z). What I am trying to do is to take the list of objects (Y) that contains the data to initialize Z. What I want to now if I can do something like that.
Imaging that one of my rows contain the following data: Type Nameofvariable etc... "static const double; MNFAIL ; 0; 0; 0,25"
In my list I have a node with contain this data
I want to use the field Nameofvariable to initialize the variable called MNFAIL contained in my class Z.
We're designing a new software and we want it to be customizable without code. That, for us, mean we can change the software behaviour without re-writing code. All will be developed using C and .NET.
One of our goals is to have what we are calling "dynamic tables". This means that these database tables may have different fields depending on the customization. We got to know it using high-level ERPs like SAP or CRM's system like VTIGER or even SalesForce. Let me give an example:
CUSTOMER TABLE:
FIELDS: ID, NAME, ADDRESS, PHONE.
This would be the standard Customer Table.
Now, a new customer needs to add FINANCE SCORE and RANKING to the database. We them would like to go to our application (not the database itself) and adding these new fields. After that, all of my input forms and reports would start to show and process these new fields.
I have a data file called "data.txt" which contains an unknown amount of random numbers. I was successfully able to open that file read from it all the numbers and cout the total amount of numbers and all the numbers inside the file. I have to now convert those numbers from file into an array dynamically.
#include <iostream> #include <fstream> #include <string> using namespace std; int main() { ifstream fin; int n=0;
[Code] ...
I'm sure that staring from the part where I start to create a dynamic array everything following that is wrong.
i j x y w h w*h 0 0 0 0 9 11 99 1 0 0 11 9 10 90 2 0 0 21 9 11 99 0 1 9 0 8 12 96 1 1 9 12 8 7 56 2 1 9 19 8 6 48
[Code]...
Code:
struct data { //Here /*! horizontal position */ int x; /*! vertical position */ int y; /*! width */ int w; /
[Code]...
data and then i have an array /*! it contain group_id of each data line*/ int group_id[16]={0,0,0,0,3,3,1,1,1,3,3,2,2,2,2,1}; I never worked with 2D array before. My problem is that i want to create a 2D array of that data for example if i write data[j][i].. It will give me the reference/value of all data lines that belongs to j column, and same with group_id[j][i]. I don't know how i can store these structure vaules in this like 2D array.
struct Wine { string wineName; int vintage; int rating; double price; };
how can i store the file data below in an array with the structure type???
Dow Vintage Port ;2011;99;82 Mollydooker Shiraz Carnival of Love ;2012;95;75 Prats & Symington Douro Chryseia ;2011;97;55 Quinta do Vale Meão Douro ;2011;97;76 Leeuwin Chardonnay River Art Series ;2011;96;89
I need to create a main function with a one dimension dynamic array with float data type. The total number of array elements must be controlled by a user input from the keyboard. Test data is three different lengths 3,6,9 of the array. The lengths have to be set up at run time from users input. I understand how to create dynamic array but not where the user inputs the length of the array. How would I implement this?
After i set the value in the first structure owners name, i set the cats name equal to it. but when i change the value in the first structure it doesn't change the value in the second structure.
So i need the dogs owners name to be equal to the cats owners name
So if i change the value of the dogs owner it also changes the value of the cats owner.
I'm writing a program in which I have to use a matrix to represent a file in code. because it's a file, the size of the matrix is undefined, and therefore the matrix has to be dynamic. I found out that my compiler doesn't like dynamic multidimensional arrays, so I was thinking of this matrix as a dynamic (monodimensional) array of other dynamic (monodimensional) arrays. My program (and thus this example) uses unsigned chars.
I'm trying to implement a tree from an array an first I used add_left_node() and add_right_node methods (as requested in the problem I have). But I'm a bit confused about the use of pointers in this. Is using &node the same as defining *pointer=node and then using "pointer" in place of &node?
I get only the value of the first node I created. For the node's left and right values I get long numbers displayed, so I think I have interfered with the addresses.
I what to implement to my Template operator * . There is <Template> Array which purpose is container like vector for classes. There is class Point, each object of contain two coordinate x and y.
So, 1. I wanna fill Array with objects from Point class 2. Multiply each objects from this vector to a factor 3. And print all this bunch of objects ()...
And pop -up helper tell that : Error: no suitable user defined conversion from "Point " to Array<Point> exist
Code: //array.h #ifndef Array_H #define Array_H template <class Type> //Remove the "=double" default parameter. class Array { protected: int m_size; Type* m_data; //m_data should be a pointer, since you want to allocate data to it
I am studying/writing/ code for a future Advanced Data Structure class in C++; however I am not suppose to use STL, Templates and etc (the way I just code "kinda" of resembles what I have to use).
My application is suppose to read/analyze all integers contained in a text file of 5-digit integers (10000 - 99999).
For simplicity I am using the following input (or check the attached):
So far, my code is not displaying/printing the lists separated by the first digit of these 5-digits integers. I am expecting it to display/print logically/similar to the following:
Output:
Results for input file numbers.txt: 27 total integers read from file
The 3 unique integers beginning with digit 1 were 18399 17342 19948
The 6 unique integers beginning with digit 3 were 39485 34710 31298 38221 35893 32791
The 4 unique integers beginning with digit 4 were 43928 49238 45678 43210
The 6 unique integers beginning with digit 6 were 64545 62987 66221 61777 66666 65432
The 2 unique integers beginning with digit 8 were 88888 86861
The 1 unique integer beginning with digit 9 was 98765
There were 22 unique 5-digit integers in the file.
The highest unique count in one list was 6 integers.
My code that will follow soon displays/prints only the LAST 5-digits "group" of integers (in this case the 5-digits starting with 3). I am not sure what's wrong with my code; perhaps I am not designing it correctly. May be my calls in it are on the wrong place or I have to write all integers and then traverse it and output it (if that's the case, I am not sure how).
My code follows:
#include <iostream> #include <fstream> #include <iomanip> using namespace std; const int MAX_CELLS = 10; const int UNIQUE_FIVE_DIGIT = 5;
I would like to modify the composition of this struct, so that I can create a special data structure by
vector<stest*> data_test; for(int i = 0; i < 10; i++) data_test.push_Back(new stest);
within this structure, I have: only one na and one nb, but ten groups of combination of va, vb, vc, vd that I can access by pointer, which means na, nb are independent but still inside of the structure.
I'm currently having the following data structure:
typedef struct { int a; int b; } S; <vector <vector<S> > v;
Now I also have different pointers that can be set in connection with one instance of the above shown vector. Therefore I was attempting to work with a map:
map<p*, <vector<vector <S> >, vector<sI> > m;
However, it seems like it doesn't work that way. Therefore I tried the following:
I want to know this because if I happen to want to use a lot of insertions and deletions then it is more efficient to make use of Linked List instead of Dynamic Array.
While, if I happen to want to just access random parts of the Array, then Dynamic would be more efficient.
I want to make a 2D game using SDL engine and I need to check whether or not an object is colliding with a list of other objects. (because there would be more then one objects on the map.)
Since I would simply be accessing each object sequentially to check whether or not the object is colliding with another the object in question, and since any of those objects could "die" and be deleted at any time, it makes more sense to use Linked List then a Dynamic Array.
I need an explanation of what linked lists are. How the nodes are been defined and used, especially in an object oriented programming. With a code example.
I want to have input data stored in a database. All information entered is to be stored under a single block. That way whenever I want to recover that information all I have to do is point to that block. Think of it like this. I want a large square block that can hold certain information. Inside of that large block are a finite amount of smaller blocks in which the user entered information about a single subject. Lets say block 1 has a name, address, and phone number. The second block will have the same TYPE of information, but different values as entered by the user. I.E:
BLOCK 1: Name 1, Address 1, Phone 1 BLOCK 2: Name 2, Address 2, Phone 2 etc.
The large block contains all of the smaller blocks, we will name the large block "Address Book" ... How would I implement that? Of course it would be just a simple console program that would erase all information when the program shut down, but I've been trying to figure out how to do it, but just can't seem to grasp a good notion of how to do it. What would be the best way to do that? Structures? How would I make it dynamic so that I wouldn't have to define every block, so that it would be added on the fly when someone inputs new information.