• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to secondary sidebar

GoHired

Interview Questions asked in Google, Microsoft, Amazon

Join WeekEnd Online Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

  • Home
  • Best Java Books
  • Algorithm
  • Internship
  • Certificates
  • About Us
  • Contact Us
  • Privacy Policy
  • Array
  • Stack
  • Queue
  • LinkedList
  • DP
  • Strings
  • Tree
  • Mathametical
  • Puzzles
  • Graph

Apriori algorithm C Code Data Mining

November 29, 2015 by Dhaval Dave

Apriori Algorithm  is an algorithm for data mining of frequent data set and association rule learning over transactional databases. It identifies the frequent individual items in the database for example, collections of items bought by customers. Lets take simple Example

Suppose you have records of large number of transactions at a shopping center as follows:

Transactions Items bought
T1 A, B, C
T2 A, B
T3 B, C, D
T4 A, B, F

For example in the above table you can see A and B are bought together frequently.

How Does This Algorithm works ?

Step 1 : Count each items occurrence  say A came 3, B – 3, C – 2, D – 1, F -1 time.
Step 2 : Remove entries which are very low in count say D,F.
Step 3 : Count Pair wise occurrence and Create table.
_PS : this step we can do for A,B,C or A,B the way clients or we need aggregation.
OP : AB-3, BC-2, AC-1,
Step 4 :  Declare highest occurring items as AB.

Clear your Java Concept with this top java books 

#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
 FILE *fin;
 int i,cols,rows,*count;
 char val;
 if(argc!=2)
 {
  return 1; 
 }
 fin = fopen(argv[1],"r");

//finding the number of cols
 cols=0;
 fscanf(fin,"%c",&val);
 while(1)
 {
  if(val=='\n')
  break;
  if(val!=' ')
  cols++;
  fscanf(fin,"%c",&val);
 }
 printf("\nNumber of columns = %d\n",cols);
 fclose(fin);
 fin = fopen(argv[1],"r");
 //Generation of 1 item frequent items

 count = (int*)malloc(sizeof(int)*cols);

 for(i=0;i<cols;i++)
 {
  count[i] =0;
 }

 while(!feof(fin))
 {
  for(i=0;i<cols;i++)
  {
   fscanf(fin,"%c",&val);
   if(val=='1')
   count[i]++;
   fscanf(fin,"%c",&val);
  }
 }
 //Generation of 1-item frequent sets completed!!

 printf("\n1-item frequent item sets..\n");
 for(i=0;i<cols;i++)
 {
  printf("\n%d -> %d",i+1,count[i]);
 }
 fclose(fin);
 return 0;
}


Similar Articles

Filed Under: Algorithm, Data Mining, Interview Questions, problem Tagged With: c

Reader Interactions

Primary Sidebar

Join WeekEnd Online/Offline Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

Join WeekEnd Online/Offline Batch from 4-April-2020

WhatsApp us

Secondary Sidebar

Custom Search

  • How I cracked AMAZON
  • LeetCode
  • Adobe
  • Amazon
  • Facebook
  • Microsoft
  • Hacker Earth
  • CSE Interview

Top Rated Questions

Spanning Tree

Naurki.com Security Breach

Find Pythagorean Triplets in an array in O(N)

Wrong Directions given find minimum moves so that he can reach to the destination

Cisco Hiring Event 21st – 22nd Feb 2015

Check if an array has duplicate numbers in O(n) time and O(1) space

Get K Max and Delete K Max in stream of incoming integers

Test Cases for Round Function

N Petrol bunks or City arranged in circle. You have Fuel and distance between petrol bunks. Is it possible to find starting point so that we can travel all Petrol Bunks

Flipkart Set 1 On Campus with Answers

C++ OOPs Part2

Trie Dictionary

Maximum of all subarrays of size k

Reversal of LinkedList

Password Predictor

Amazon Interview Experience – SDE Chennai

System Design: Designing a LLD for Hotel Booking

FizzBuzz Solution C C++

Regular Expression Matching

Urban Ladder Written Test.

Client Server C program

Find the smallest window in a string containing all characters of another string

Longest Increasing Subsequence

Python String and numbers

Difference between a LinkedList and a Binary Search Tree BST

Introduction To Number Theory ( Part 1 )

Maximum difference between two elements s.t larger element appears after the smaller number

Python List

Circular Linked List

Generate next palindrome number

Copyright © 2026 · Genesis Framework · WordPress · Log in