Solved

project idea ???

Posted on 2004-08-27
16
421 Views
Last Modified: 2010-04-17
I am looking for an innovative project idea ..... related to program or algorithm development ...can anybody suggest some ???  Anything interesting that can be explored in Data Structures... (I have knowledge of C/C++ )... Any idea on some existing Algorithm which can be improved may also do....

                 thanks in advance !!!!!  (prompt response might be of greater help)
0
Comment
Question by:pag_floyd
  • 4
  • 2
  • 2
  • +6
16 Comments
 
LVL 8

Accepted Solution

by:
bramsquad earned 66 total points
ID: 11916248
project that i did which explored both of those, is a smart fibonacci algorithm

what i mean by this, is write a recursive structure, which has the ability to save its values and look them up later

so when you figure out what fib(n) is, you can use that as a base case.  

why this is good for both, since the fib() function has the algorithm efficiency of 2^n, you can see how much it helps the effiency, plus you can implement your data structure with a linked list, which is a more advanced data structure.

if youre not sure what any of the terms are i explained, let me know, id be glad to explain it in more detail.

~b
0
 
LVL 8

Assisted Solution

by:boulder_bum
boulder_bum earned 62 total points
ID: 11918473
Trying to parse and calculate an expression is fun and tricky.

4 + 2

Is simple enough, but how do you handle:

12 * ( 4 + 1 ) / 10

You have to account for order of operations and stuff.

One of the textboxes I used to learn programming converted everything to postfix notation then used stacks to run through the expression and arrive at the final result. It was pretty neat. I've heard of people doing this with binary trees also.  
0
 
LVL 55

Assisted Solution

by:Jaime Olivares
Jaime Olivares earned 62 total points
ID: 11918746
Any kind of collaborative process using UDP or TCP sockets always is a good idea, so you can create "supercomputers" based on dozens or hundreds of pcs with the proper network interface software and some core calculus functionality.
0
 

Assisted Solution

by:somecuriousguy
somecuriousguy earned 62 total points
ID: 11919534
You could write a scripting language, that could accept values from a database ( a comma or tab delimited text file). Consider a text file with columns and rows:

ID, X, Y
1, 300, 200
2, 700, 1000
etc

A template xml file as follows:
<test>
  <id>@ID</id> // the column name
  <x>@X</x>
  <y>@Y</y>
</test>

the program should accept the text file as input, the xml as a template and create 2 xml files called <@ID>.xml, ie, 1.xml and 2.xml. The values from the text file should be used to fill each xml, eg
1.xml should look like:
<test>
  <id>1</id> // the id from first record is inserted here
  <x>300</x> // the x value first record is inserted here
  <y>200</y> // the y value first record is inserted here
</test>

Think about it, you could use expressions to evaluate to fill the output file, example instead of @X, you could specify (@X + 5000)*(@Y^3)/@ID...and so on. The template could be any file (not necessary xml) All you have to do is replace the expression with the appropriate values from the database. The database could even be an access or dbf or even a table in sql or oracle.
Another example.
Consider a text file with names of directories to delete as in

Folder
c:\temp
c:\abcd
c:\efgh

You could have a template that looks like this
[Header]
echo "deleting folders"
[Records]
del @Folder
[Footer]
echo "folders deleted"

The output batch file would look like
echo "deleting folders" // the header
// the records
del c:\temp
del c:\abcd
del c:\efgh
// the footer
echo "folders deleted"

you could specify the output file name in the command line, or use a variable to specify different files (eg @ID.xml as the output file)

0
 
LVL 8

Expert Comment

by:boulder_bum
ID: 11919663
When I said "textboxes" I meant "textbooks". :-D My fingers have a mind of their own after a long day of coding!
0
 

Author Comment

by:pag_floyd
ID: 11920517
...evaluating postfix expr. , it's all around , nothing innovative

...someciuriousguy.... ur idea went over my head.. u apparently r suggesting use of oracle etc. which , presently ,I  have no knowledge of!!

...jaime_olivares... ur idea was not too explanatory would like u to shed some light


...I am not satisfied .want more ideas.....something in direction of algorithms or data structures , if programming...any other innovative idea(but not too complex ) is also welcome
what abt digital watermarking ...is it doqable in short time of 15 days with not much knowledge of background of it!!!
0
 

Expert Comment

by:somecuriousguy
ID: 11920584
look at it this way.
A program to generate thousands of similar files by using values from a comma delimited text file. This text file is like a table with columns and rows. Each output file gets it value from a single record in the text file. So if you have a 1000 records in the text file, you will get a thousand output files, where all output files are similar except the values in them. So the input to the program would be the text file and the sample file, of which the output files are to be generated. The program will read the first record from the text file, fill the variables in the sample file from the values of the first record, and create an output file. Then it reads the second record, and creates a second file, etc. Now go back to the xml sample and see if you can understand it.

Dont worry about the second sample. If you can understand the first sample, you should be able to figure out the second one.

If you understand the text file as a table, you could in future substitute the text file with another table, like an access, sql or oracle table.

Hope this helps :)
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 3

Assisted Solution

by:aravindtj
aravindtj earned 62 total points
ID: 11921584

Why not you try for a innovative algorithms like Genetic Algorithms for Optimizations.
 You try to optimize some traditional problems like TSP.
All the best.
0
 

Assisted Solution

by:RLBE
RLBE earned 62 total points
ID: 11921876
speaking of algorithms..

maybe you could do something that would accept inputs in the form of formulas (eg. n(n*2)/2)
and calculate the notations, the BIg Oh's, Big Omega's, etc.. and graph them visually... :) and calculate the best cases, average and worst cases, that kind of project could be more challenging..
0
 
LVL 8

Expert Comment

by:boulder_bum
ID: 11926311
How about recreating the functionality of an advanced graphing calculator (including solving algebraic expressions, calculus limits, etc)?
0
 
LVL 8

Expert Comment

by:boulder_bum
ID: 11926388
Or build your own language and/or optimizing compiler (which typically makes heavy use of data structures).
0
 

Author Comment

by:pag_floyd
ID: 11939990
any more suggestions ???
0
 
LVL 1

Assisted Solution

by:croag
croag earned 62 total points
ID: 12137147
how about designing a DB using multiple different RDMS, attaching them to a front end, and then produce reports on a form that showed the performance differences (seektime, sort speed, query retrival etc.) between them all, you could also show the performance difference between the various RDMS and local vs networked DBms' . That would be interesting...especially to see the different stats that you could produce and all the different visual ways to represent the data

-- croag
0
 
LVL 2

Assisted Solution

by:gbajramo
gbajramo earned 62 total points
ID: 12168247
You didn't share your sill level but here are a few random ideas.

Writing simple games is usually a great way to stretch your programming muscle. If you are coding in C, you will have a lot of opportunities to use variety of data structures and algorithms.

If you have some TCP/IP skills, you could explore network mapping (for LAN should be fairly simple). Having a program Generate network diagrams on the fly can be fun and educational especially if you like working with tree structures.

If you want to play with strings and search algorithms, a simple AI simulation could be fun. You could ask computer a question and try to simulate intelligent responses. Of course, you would want to stick with a very narrow topic or you could spend a lifetime on this.

Try writing a robot that searches for certain kind of informaton on the Internet.

Write a spam filter.

If you like playing with images (you mentioned watermarks) try scanning some documents with randomly placed bar codes and have a program that will locate the bar code on the document and read it. Make it more complex by trying to locate other fields such as SSN etc.

I could go all night. What's important is that you are having fun and challenging yourself at the same time.
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now