アイゼンハワーは朝鮮問題、共産主義および汚職を選挙運動の主題にした。すなわち、現行トルーマン政権がこれらの問題に対処して失敗していると共和党が見なしている事柄だった。共和党は朝鮮で戦う準備が十分にできていなかったことで民主党を非難した。民主党は連邦政府内に共産主義者のスパイを「泳がせている」と告発した。また多くの役職者が様々な犯罪で告発されているトルーマン内閣を攻撃した。民主党はこれに反論して、マッカーシー上院議員やその他共和党の保守派を政府職員の人権を見境もなく蹂躙する「恐怖利用者」だと批判した。多くの民主党員は、アイゼンハワーがウィスコンシンで計画された選挙遊説で、用意していたマッカーシーの方法を批判する原稿を読まず、あたかもマッカーシーを支持しているかのようにマッカーシーと握手しているところを写真に撮られることに同意したので、特に動揺した。しかしアイゼンハワーはこのような事故にも拘わらず、第二次世界大戦で果たした指導的役割からくる大きな個人的人気を保持し続け、国中で彼を見るために大群衆が集まった。その選挙スローガン「I Like Ike」（アイ・ライク・アイク）はアメリカ史の中でも最も親しまれたものである。スティーブンソンは全国で一連の感銘深い演説を行うことに集中した。彼も大きな聴衆を惹き付けた。スティーブンソンのスタイルは知識人や学者を感動させたが、政治の専門家の中にはその聴衆の「頭の上で」話しているのではないかと思う者がおり、彼の禿頭や知的な顔つきをもとに「卵頭」と渾名を付けた。アイゼンハワーは選挙運動期間の世論調査でもかなりのリードを続けた。1952年の選挙運動期間の中でも著名な出来事は、副大統領候補のニクソンにまつわるものであった。副大統領候補選定前よりニクソンは、ニクソンが金銭的に余裕がないことを知った地元の支持者たちが作った支援基金団体から、政治活動資金のための資金援助を受けていたが、リベラル派であったニューヨーク・ポスト紙は、副大統領候補選定後の9月にこれを「ニクソンの秘密信託基金」と批判し（なお、当時この様な支援基金団体を経由した資金援助は民主党のスティーブンソンらも受けていた）、さらに「物品の提供も受けた」とも批判した。その後アイゼンハワーの選対本部はこの記事が大統領選に与える影響を憂慮し、選対本部の一部はニクソンを副大統領候補から降ろすことを画策しはじめた。これに対してニクソンは、その後有名になるスピーチ「チェッカーズ・スピーチ」を行い、自らに対する攻撃に対して反論した。その中でニクソンは個人資産の詳細を事細かく説明したほか、、民主党のハリー・トルーマン政権の閣僚の妻達の中に、「院外活動をする人々から高価な毛皮のコートを受け取った」と告発されている者がいた事を受け、横に座る妻のパットが「ミンクのコートを持ってはいないが、尊敬すべき共和党員に相応しい布で出来た質素なコートを着用している」といいトルーマン政権の閣僚を皮肉るとともに、提供された資金を私的に使用したことを明確に否定した。併せて、「物品の提供を受けたことはないが、『チェッカーズ』と名付けられたコッカースパニエル（犬）をもらったことはある。しかし、娘がそれを愛しているので返すつもりはない」と述べた。さらに「自分が副大統領候補を辞退するべきか否かについての意見を、共和党全国委員会に伝えてほしい」と訴えた。この放送は、その後「チェッカーズ・スピーチ」と呼ばれるほどの大きな反響を視聴者に与えるとともに、「提供された資金を私的に流用した」という批判を払拭し、ニクソンに対する同情と支持を集めることに成功した。さらに、ニクソンを引き続き副大統領候補としてとどめることを要求する視聴者からの連絡が共和党全国委員会に殺到したことで、副大統領候補の辞退さえ迫られていたニクソンは、引き続き副大統領候補としてとどまることになった。両党の選挙運動はテレビ広告を活用した。"アイク"アイゼンハワーの有名な広告は無償交付で心温まるアニメであり、「アイ・ライク・アイク」と呼ばれるアーヴィング・バーリン作曲のサウンドトラック付きだった。初めて候補者の個人病歴が公表され、また個人の資産状況履歴も公表された（ニクソンのお陰）。選挙運動の終わり近く、アイゼンハワーはその主要演説で、もし選挙に勝てば朝鮮に行って戦争を終わらせることができるか判断すると宣言した。アイゼンハワーの大きな軍人としての権威は大衆が紛争に疲れていたことと合わさり、勝利するために必要とした最後の景気づけとなった。1952年11月4日の投票日、アイゼンハワーは一般投票の55％、48州のうち39州を制して決定的な勝利を得た。レコンストラクション以降共和党が一度しか制したことの無かった南部州4州、すなわちバージニア州、テネシー州、フロリダ州およびテキサス州も制した。
public class FlowGraph {    public static final int WHITE = 0, GRAY = 1, BLACK = 2;    private double[][] flow, capacity, resCapacity;    private int[] parent, color, queue;    private double[] minCapacity;    private int size, source, sink, first, last;    private double maxFlow;    public FlowGraph(String fileName) {        // 入力テキストファイルから        // "size" 値        // "capacity[size][size]" 配列        // "source" および "sink" ノードのインデックス値（0始点）        // を読み込む。        edmondsKarp();        // 出力ファイルに結果を書く（"flow" 配列と "maxFlow" 値）    }    private void edmondsKarp() { // 計算量 O(V³E) のエドモンズ・カープのアルゴリズム        flow = new double[size][size];        resCapacity = new double[size][size];        parent = new int[size];        minCapacity = new double[size];        color = new int[size];        queue = new int[size];        for (int i = 0; i < size; i++)            for (int j = 0; j < size; j++)                resCapacity[i][j] = capacity[i][j];        while (BFS(source)) {            maxFlow += minCapacity[sink];            int v = sink, u;            while (v != source) {                u = parent[v];                flow[u][v] += minCapacity[sink];                flow[v][u] -= minCapacity[sink];                resCapacity[u][v] -= minCapacity[sink];                resCapacity[v][u] += minCapacity[sink];                v = u;            }        }    }    private boolean BFS(int source) {  // O(V²) の幅優先探索        for (int i = 0; i < size; i++) {            color[i] = WHITE;            minCapacity[i] = Double.MAX_VALUE;        }        first = last = 0;        queue[last++] = source;        color[source] = GRAY;        while (first != last) { // "queue" が空でないうちはループする            int v = queue[first++];            for (int u = 0; u < size; u++)                if (color[u] == WHITE && resCapacity[v][u] > 0) {                    minCapacity[u] = Math.min(minCapacity[v], resCapacity[v][u]);                    parent[u] = v;                    color[u] = GRAY;                    if (u == sink) return true;                    queue[last++] = u;                }        }        return false;    }}