Skip to main content

Posts

Java implementation of Binary Heap (source code)

Binary Heaps are one of the easiest and most popular means to implement priority queues. You can get a lot of tutorials explaining the algorithms for insertion, deletion of the maximum (or minimum) element and using the heap for implementing priority queue. Here is a simple Java code for these: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 import java.util.Arrays ; class BinaryHeapImpl { private int arr []; private int heapSize = 0 ; BinaryHeapImpl ( int size ){ ...

Preparing your Spring Development Environment.

Install JDK EE 7. Install Eclipse IDE for Java EE Developers, Luna. From Eclipse Marketplace, install Maven Integration for Eclipse (Luna and Newer) It should already be there so just update it. From Eclipse Marketplace, install Spring IDE plugin. If there are any issues in repository search or jar downloading, follow the tips here: http://javarevisited.blogspot.in/2014/09/maven-dependency-search-not-working-in-eclipse.html If it still doesn't work do this:  Window->Preferences->Maven uncheck 'Offline' if it is checked. Select project and go to Maven->Update Project. Now the jars should start getting downloaded. Here are the dependencies for spring web project with JDBC connectivity!

Using GIT with BitBucket (or any other remote repository)

It is quite simple. Follow this link to install and setup GIT:  https://confluence.atlassian.com/display/BITBUCKET/Bitbucket+101 Do not create a new repository in BitBucket, as we already have couple of repositories. Do your operations on any of the two existing repositories. How to use the GIT UI: After cloning ‘web-app’ repository I get the ‘web-app’ folder on my machine. Initially it is empty since there is no source code. I added a file ‘Read Me.txt’ If I right-click on the file and select ‘Git GUI’. It will prompt me to select between ‘Creating a new repository’, ‘Importing/Cloning a new repository’, ‘Opening an existing repository’. Since we already have a repository created, select ‘Opening an existing repository’. Give the directory of ‘web-app’ folder (the folder which contains .git file). In GIT, checkin is a 2-step process: We need to add file to staging area and then add to commit. Select the ‘Read Me.txt’: Select Commit->Stage ...

Using Twitter search API in Java

If you are reading this, I assume you are aware about Twitter APIs. If you are new to this API, I suggest you read the  API documentation  (which is quite good BTW!) This simple program of mine uses Twitter search API to get "positive" tweets for a search string. It aims to retrieve all the search results (tweets) and hence has to make multiple calls to REST API, for which it uses max_id (explained later). Let me give an overview of all the request parameters that we have specified in the URL (Twitter API URL): q=%23SearchString: #SearchString count=100: Number of tweets you want the API to return in one call. include_entities=false: Exclude details of entities in the JSON response. You can set it to true if you want. max_id: Since we want more than 100 tweets, we are invoking the API multiple times and giving the id of last tweet returned in previous invocation as 'max_id' and asking Twitter to give 100 tweets prior to this tweet.  e.g. First call ret...

Using HTML5 SessionStorage in forms.

The two local storage mechanisms in HTML5 , 'LocalStorage' and 'SessionStorage' are really nifty when you need to store the data temporarily but don't want to involve any server side interaction. I wanted to create a small HTML-form page which would allow user to enter data in various fields and on submitting the form, just show the data submitted in a text-format (easy for copy-paste). And if needed allow the data to be edited by repopulating the data in the fields. Something like this: On submitting, the entered data shows up like this: On reloading the page, once again we get the first page with data populated in the fields. Pretty cool eh? I decided to use sessionStorage for this. Idea is very simple (and you will notice that implementation is as simple!). Before starting with sessionStorage or JS code, let's take a look at the form HTML code: <form id="bct" > < label>Problem Description/Current Behavior: < /l...