1

I'm currently writing a thesis using Latex. Unfortunatly i'm facing a bad output since two days without resolving it.

To explain the problem here is my output:

The first page:

enter image description here

The second page:

enter image description here

As we can see the first problem is that the section 1.2 come before the pseudo code. What i want is that the pseudo code should be prited before the section 1.2.

the second problem is that the pseudocode is not well printed, even i have alredy used the /small command i have still this problem.

Even with this discussion i have already asked, it didn't help solving this issue.

Could someone help me to resolve the problem.

Thank you.

My pseudo code:

    \documentclass[12pt,a4paper]{article}

\usepackage{url}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{amssymb,amsmath,amsthm}
%\\usepackage{graphics}
\usepackage{graphicx}
\usepackage[linesnumbered,french]{algorithm2e}
\usepackage{hyperref}
\usepackage{cite}
\usepackage{float}

\begin{document}
\section{Graphes}
Les graphes avec un degré maximum $\leq 3$ ont des nombres de domination élevés, donc notre premier algorithme ne se comporte pas bien sur ces graphes.\\
une explication possible pour ce problème est que l'algorithme peut dans des cas chercher un MDS de taille $\gamma(G)-1$ même si un MDS de taille plus petite a été trouvé auparavant dans la phase de recherche.
Cette partie présente un algorithme plus précis pour les graphes de degré $\leq 3$.\\
L'algorithme est basé sur la technique d'élagage d'un arbre de recherche et une propriété des ensembles dominants minimum dans un graphe de degré maximum $\leq 3 $ présenté dans le lemme suivant:


\subsection{Pseudocode}
 \begin{algorithm}
 \small 
 \Entree{Un Graphe $G$ connexe, Ensemble de Sommets $X$}
 \Sortie{Ensemble dominant minimum}
 \caption{Algorithme pour les graphe avec un degré maximum \leq 3}
 \Si{taille$(X)=0$}{\Retour\{\}}
 choisir $x$ tel que $x$ est le voisin d’un sommet $y$ où $d(y) =3$\\
 \Si {$x$ est vide}{
     \Retour mdsFromConnectedComponent($G$)\COMMENT {//pas de sommets de degré$=3$}
    }
 \Si{$d(x) = 1$}{
        $y$= voisin de $x$ avec $d(y)=3$\\
    $z1, z2$ : les deux autres voisins de $x$\\
    $D1$ = mdsForGraphAtMost3Degree $(G-N[y]) \cup y$\\
    $D2$ = mdsForGraphAtMost3Degree $(G-\{N[y] + N [z_1]\}) \cup \{y, z_1\}$\\
    $D3$ = mdsForGraphAtMost3Degree $(G-\{N[y] + N [z_2]\}) \cup \{y, z_2\}$\\
    \Retour min($D1$, $D2$, $D3$)
}
\SinonSi {$d(x) = 2$}{
    Choisir $y_1$, $y_2$ voisins de $x$ avec $d(y_1)=3$\\
    \Si{voisin($y_1$, $y_2$)}{
                    \Si{$d(y2)=2$}{
                   $D1$ = mdsForGraphAtMost3Degree $(G- N[y_1]) \cup y_1$\\
               Choisir $z$ tel que $z$ est le troisième voisin de $x$\\
               $D2$ = mdsForGraphAtMost3Degree $(G- \{N[y_1] + N[z]\}) \cup \{y_1, z\}$\\
               \Retour min($D1, D2$)
                  }
                    \SinonSi{$d(y2)=3$}{
                    Soit $z_1$ = troisième voisin de $y_1$\\
                    Soit $z_2$ = troisième voisin de $y_2$\\
                    $D1$ = mdsForGraphAtMost3Degree $(G-N[y_1]) \cup \{y_1\}$\\
                    $D2$ = mdsForGraphAtMost3Degree $(G-N[y_2]) \cup \{y_2\}$\\             
                    $D3$ = mdsForGraphAtMost3Degree $(G-\{N[y_1]+ N[z_1]\}) \cup \{y_1, z_1\}$\\
                    $D4$ = mdsForGraphAtMost3Degree $(G)$\\
                    \Retour min ($D1$, $D2$, $D3$, $D4$)\\
                    }
                }
        \Sinon{
                    $D1$ = mdsForGraphAtMost3Degree $(G- N[x]) \cup \{x\}$\\
                    $D2$ = mdsForGraphAtMost3Degree $(G- N[y_1]) \cup \{y_1\}$ \\
                    $D3$ = mdsForGraphAtMost3Degree $(G- N[y_1]) \cup \{y_2\}$\\
                    $D4$ = mdsForGraphAtMost3Degree $(G- \{N[y_1]+ N[z_{11}]\}) \cup \{y_1, z_{11}\}$ \\
                    $D5$ = mdsForGraphAtMost3Degree $(G- \{N[y_1]+ N[z_{12}]\}) \cup \{y_1, z_{12}\}$ \\
                    $D6$ = mdsForGraphAtMost3Degree $(G- \{N[y_2]+ N[z_{21}]\}) \cup \{y_2, z_{21}\}$\\
                    $D7$ = mdsrorGraphAtMost3Degree $(G- \{N[y_2]+ N(z_{22})\}) \cup \{y_2, z_{22}\}$\\ 
                    \Retour min($D1$, $D2$, $D3$, $D4$, $D5$, $D6$, $D7$) \\
            }

}
 \end{algorithm}
\subsection{Analyse de Complexité}
De la même façon que l’algorithme vu dans la section précédente, on obtient la relation de récurrence suivante :$T(n) \approx T(n-3) + 2T (n - 4)+4T(n-6)$ et qui corresponds au cas 2.2.2, on résolvant cette occurrences, $1.8393$ est l’unique racine réelle positive du polynôme $x^6 = x^3 + 2x^2 + 4$. Le pire cas de $T(n)$ est en $0(1,51433^n)$.
\end{document}
  • 3
    Hi, first of all you have to break (or use a really small font size) your algorithm across pages. If you search about it you will find some solutions here. Second, algorithm environment is a float environment and thus, latex decides where it will be placed. To avoid giving this freedom to latex, you may want to use H parameter to your algorithm since float package is already loaded in your code (like \begin{algorithm}[H])... – koleygr Nov 1 '18 at 19:08
  • thank you.yes i have already tested that, but i face another problem i get a new blank page between the first paragraph and the pseudocode. – zak zak Nov 1 '18 at 19:13
  • 1
    Try \clearpage between the parts of the breaked algorithm – koleygr Nov 1 '18 at 19:33
  • 3
    Your Pseudocode section has no text so you get the output that you show. (A floating environment such as figure or here, algorithm is only used to specify that its content is not part of the main document flow and can be moved as needed) – David Carlisle Nov 1 '18 at 19:49
  • 2
    nice... Please consider adding an answer with the fixes on your issue to help future users. – koleygr Nov 1 '18 at 20:24
0

I solved this problem with the help of koleygr

This is what i did:

I used:

  • [H] to adjust the position.
  • \clearpage to delete de blank page
  • \footnotesize to adjust the size of the algorithm and it fit well in one page.

Here is my output:

The first and the second Page:

enter image description here

The Third Page:

enter image description here

My Latex File:

\documentclass[12pt,a4paper]{article}

\usepackage{url}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{amssymb,amsmath,amsthm}
%\\usepackage{graphics}
\usepackage{graphicx}
\usepackage[linesnumbered,french]{algorithm2e}
\usepackage{hyperref}
\usepackage{cite}
\usepackage{float}
\let\cleardoublepage\clearpage
\begin{document}

\section{Graphes}
Les graphes avec un degré maximum $\leq 3$ ont des nombres de domination élevés, donc notre premier algorithme ne se comporte pas bien sur ces graphes.\\
une explication possible pour ce problème est que l'algorithme peut dans des cas chercher un MDS de taille $\gamma(G)-1$ même si un MDS de taille plus petite a été trouvé auparavant dans la phase de recherche.
Cette partie présente un algorithme plus précis pour les graphes de degré $\leq 3$.\\
L'algorithme est basé sur la technique d'élagage d'un arbre de recherche et une propriété des ensembles dominants minimum dans un graphe de degré maximum $\leq 3 $ présenté dans le lemme suivant:


\subsection{Pseudocode}
\clearpage
 \begin{algorithm}[H]
 \footnotesize   
 \Entree{Un Graphe $G$ connexe, Ensemble de Sommets $X$}
 \Sortie{Ensemble dominant minimum}
 \caption{Algorithme pour les graphe avec un degré maximum \leq 3}
 \Si{taille$(X)=0$}{\Retour\{\}}
 choisir $x$ tel que $x$ est le voisin d’un sommet $y$ où $d(y) =3$\\
 \Si {$x$ est vide}{
     \Retour mdsFromConnectedComponent($G$)\COMMENT {//pas de sommets de degré$=3$}
    }
 \Si{$d(x) = 1$}{
        $y$= voisin de $x$ avec $d(y)=3$\\
    $z1, z2$ : les deux autres voisins de $x$\\
    $D1$ = mdsForGraphAtMost3Degree $(G-N[y]) \cup y$\\
    $D2$ = mdsForGraphAtMost3Degree $(G-\{N[y] + N [z_1]\}) \cup \{y, z_1\}$\\
    $D3$ = mdsForGraphAtMost3Degree $(G-\{N[y] + N [z_2]\}) \cup \{y, z_2\}$\\
    \Retour min($D1$, $D2$, $D3$)
}
\SinonSi {$d(x) = 2$}{
    Choisir $y_1$, $y_2$ voisins de $x$ avec $d(y_1)=3$\\
    \Si{voisin($y_1$, $y_2$)}{
                    \Si{$d(y2)=2$}{
                   $D1$ = mdsForGraphAtMost3Degree $(G- N[y_1]) \cup y_1$\\
               Choisir $z$ tel que $z$ est le troisième voisin de $x$\\
               $D2$ = mdsForGraphAtMost3Degree $(G- \{N[y_1] + N[z]\}) \cup \{y_1, z\}$\\
               \Retour min($D1, D2$)
                  }
                    \SinonSi{$d(y2)=3$}{
                    Soit $z_1$ = troisième voisin de $y_1$\\
                    Soit $z_2$ = troisième voisin de $y_2$\\
                    $D1$ = mdsForGraphAtMost3Degree $(G-N[y_1]) \cup \{y_1\}$\\
                    $D2$ = mdsForGraphAtMost3Degree $(G-N[y_2]) \cup \{y_2\}$\\             
                    $D3$ = mdsForGraphAtMost3Degree $(G-\{N[y_1]+ N[z_1]\}) \cup \{y_1, z_1\}$\\
                    $D4$ = mdsForGraphAtMost3Degree $(G)$\\
                    \Retour min ($D1$, $D2$, $D3$, $D4$)\\
                    }
                }
        \Sinon{
                    $D1$ = mdsForGraphAtMost3Degree $(G- N[x]) \cup \{x\}$\\
                    $D2$ = mdsForGraphAtMost3Degree $(G- N[y_1]) \cup \{y_1\}$ \\
                    $D3$ = mdsForGraphAtMost3Degree $(G- N[y_1]) \cup \{y_2\}$\\
                    $D4$ = mdsForGraphAtMost3Degree $(G- \{N[y_1]+ N[z_{11}]\}) \cup \{y_1, z_{11}\}$ \\
                    $D5$ = mdsForGraphAtMost3Degree $(G- \{N[y_1]+ N[z_{12}]\}) \cup \{y_1, z_{12}\}$ \\
                    $D6$ = mdsForGraphAtMost3Degree $(G- \{N[y_2]+ N[z_{21}]\}) \cup \{y_2, z_{21}\}$\\
                    $D7$ = mdsrorGraphAtMost3Degree $(G- \{N[y_2]+ N(z_{22})\}) \cup \{y_2, z_{22}\}$\\ 
                    \Retour min($D1$, $D2$, $D3$, $D4$, $D5$, $D6$, $D7$) \\
            }

}
 \end{algorithm}
\subsection{Analyse de Complexité}
De la même façon que l’algorithme vu dans la section précédente, on obtient la relation de récurrence suivante :$T(n) \approx T(n-3) + 2T (n - 4)+4T(n-6)$ et qui corresponds au cas 2.2.2, on résolvant cette occurrences, $1.8393$ est l’unique racine réelle positive du polynôme $x^6 = x^3 + 2x^2 + 4$. Le pire cas de $T(n)$ est en $0(1,51433^n)$.
\end{document}

To overkome the blank space in the 1.1 section, i will add more text to fill the blank space.

This solution fit well what i'm looking for, because i don't like one algorithm in two pages.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.